2015-09-28 7 views
-1

У меня есть следующий фрагмент кода:доступа «открыватель» класс объекта от другого объекта

class A 
{ 
    public function greeting(){echo "Hello from A";} 
    public function goodbye(){echo "Bye bye from A";} 
    public function open() 
    { 
     $obj_b = new B(); 
     $obj_b->close_message(); 
    } 

} 

class B 
{ 
    public function greeting(){echo "Hello from B";} 
    public function close_message() 
    { 
     //get the 'opener' class object and access method goodbye() 

    } 
} 

$obj_a=new A(); 
$obj_a->greeting(); 
$obj_a->open(); 

Так класса А и В не имеют Наследование определены и все методы не являются статичными. Объект класса B открывается в объекте класса A. То, что я пытаюсь достичь, - это $ obj_b для доступа к классу «openener» и выполнения метода goodbye().

Возможно ли это?

ответ

2

Вы могли бы сделать что-то вроде этого:

От А

$obj_b->close_message($this); 


От В

public function close_message($obj){ 
    $obj->goodbye(); 
} 
+0

ах, это сработало! Спасибо :-) – user2022678

Смежные вопросы