Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2011, 14:47   #1
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию Связь между объектами в php

PHP код:
class class1 {
    public function 
input($text) {
        echo 
'text';
    }
}

class 
class2 {
    public function 
__construct() {
        
$object2->input('start');
    }
}

$object1 = new class1;
$object2 = new class2
Вообщем как быть в с подобным. Как в классе использовать другой объект.

Последний раз редактировалось dr.Chas; 03.10.2011 в 15:09.
dr.Chas вне форума Ответить с цитированием
Старый 03.10.2011, 15:44   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от dr.Chas Посмотреть сообщение
Как в классе использовать другой объект.
А чем обычное наследование вам не подходит?
Как раз для того, чтоб не плодить объекты, реализующие некий совместный функционал.
Andkorol вне форума Ответить с цитированием
Старый 03.10.2011, 15:52   #3
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
Вообщем как быть в с подобным. Как в классе использовать другой объект.
Как вариант, передавать в конструктор class1 экземпляр класса class2.
ssdm вне форума Ответить с цитированием
Старый 03.10.2011, 16:48   #4
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Вопрос не совсем понятен .. в примере вы хотите вызвать метод собственного класса?
Или унаследовать метод от class1 ?
Код:
class class2 extends class1 {
    public function __construct() {
        $this->input('start');
    }
}
Можно как вариант использовать статический метод static function input() в классе class1 и вызывать его class1::input() - ну это если ваши условия позволяют.

Хотя есть еще варианты, например если хотите использовать эти объекты в глобальном контексте, тогда вам нужны паттерны Factory или Singleton
Но все-таки лучше описать как вы собираетесь все это использовать поподробнее

Последний раз редактировалось Cronos20; 03.10.2011 в 16:51.
Cronos20 вне форума Ответить с цитированием
Старый 03.10.2011, 19:29   #5
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Да, я не спорю, что у меня не получилось объяснить, что мне надо. У меня с этим что то сложно сегодня. От этого я и не могу найти в поиске, т.к. не могу правильно сформулировать.

Вообщем в объекте может использоваться другие объекты, но если они созданы в не его области видимости, как их туда правильно передавать. По ссылке это я знаю. Другие способы правильные есть? Или это самый правильный

Цитата:
Хотя есть еще варианты, например если хотите использовать эти объекты в глобальном контексте, тогда вам нужны паттерны Factory или Singleton
Да, читал про это, ещё до темы, как варианты рассматривал. Мне просто нужно узнать как правильно, чтобы не городить своего велосипеда
dr.Chas вне форума Ответить с цитированием
Старый 04.10.2011, 09:58   #6
Xenm
Пользователь
 
Регистрация: 15.09.2010
Сообщений: 38
По умолчанию

Почитай про делегирование, может быть подойдет.
Xenm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связь между двумя объектами по WiFi. S_Yevgeniy Компьютерное железо 13 27.10.2010 10:19
Макрос - копирование текста между повторяющимися объектами polepropilen Microsoft Office Word 2 27.05.2010 12:21
Связь между двумя ОС Яр|/||< (^_^) Общие вопросы Delphi 8 06.07.2009 20:45
как переключаться между объектами в сцене? lerka Мультимедиа в Delphi 5 19.03.2009 14:45
связь между компанентами! grom_rk БД в Delphi 1 11.01.2009 09:22