Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ООП: Обратиться к методу другово обьекта из обьекта
 
 автор: LEM   (24.12.2010 в 22:02)   письмо автору
 
 

Нужно обратиться к методу другово обьекта из обьекта.
То есть

// Создается обьект 
$obj1 = new obj1;
// Далее класс в котором хочу обратиться к методу обьекта obj1  , прошу заметить что обратиться к классу не то, т.к. метод этого обьекта будет работать только в обьекте (после его подготовки ф-ей __construct(); )
class obj2 
{
 function get ()
{
// тут нужно оратиться к $obj1->get();
}
}

  Ответить  
 
 автор: neadekvat   (24.12.2010 в 22:12)   письмо автору
 
   для: LEM   (24.12.2010 в 22:02)
 

"Другово", ага, ппц.

Не понял до конца, чего вы хотите (а может, вообще не понял).
И зачем монитор порвали?

Ну и так, к слову, вдруг:
<?php
class one
{
    public function 
get()
    {
        echo 
'Hello!';
    }
}


class 
two
{
    public 
$obj_one;
    
    public function 
__construct()
    {
        
$this->obj_one = new one;
        
$this->obj_one->get();
    }
}

$obj_two = new two// Hello!

  Ответить  
 
 автор: Лена   (24.12.2010 в 22:32)   письмо автору
 
   для: LEM   (24.12.2010 в 22:02)
 

У вас объект new obj1 внутри другого класса или снаружи создается?
Я поняла так.

<?php
class obj2 {
    private 
$one;
    
    public function 
__construct($in){
        
$this->one $in;
    }

 public function 
get (){ 
    
$this->one->get(); 

}
$obj1 = new obj1
$obj2 = new obj2($obj1);

  Ответить  
 
 автор: LEM   (24.12.2010 в 22:38)   письмо автору
 
   для: Лена   (24.12.2010 в 22:32)
 

Все , всем спасибо.
Не знал что так ($this->one->get(); ) можно.

  Ответить  
 
 автор: neadekvat   (24.12.2010 в 22:41)   письмо автору
 
   для: LEM   (24.12.2010 в 22:38)
 

.

  Ответить  
 
 автор: LEM   (25.12.2010 в 00:17)   письмо автору
 
   для: neadekvat   (24.12.2010 в 22:41)
 

Теперь другая проблема.
Суть та же , но теперь один обьект (уже созданный "снаружи" ) содержит свойства, которые нужно получить другому обьекту.
global на обьекты не действует?

  Ответить  
 
 автор: neadekvat   (25.12.2010 в 00:25)   письмо автору
 
   для: LEM   (25.12.2010 в 00:17)
 

Вы читаете вообще?
Лена в посте выше показала, как передавать объект. Неужели нелогично, что, раз уж доступны методы, то доступны и члены переданного объекта?

  Ответить  
 
 автор: LEM   (25.12.2010 в 20:56)   письмо автору
 
   для: neadekvat   (25.12.2010 в 00:25)
 

Да, читал.
Проблема в том что , из примера выше, данные я могу получить, только от созданного обьекта.
Т.е. о его состоянии на этот самый момент, а он может изменять свои свойства по ходу выполнения сценария, которые мне в разные моменты нужно получать из другово обьекта.
Про этот вариант , я знаю. Тут даже проще использовать clone.
Можно реализовать то что мне нужно постоянно создавая/вытаскивая что-нужно, и удаляя обьект.
Просто думал что, есть способ проще.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования