是否有可能将当前类作为参考传递给另一个?如果是的话,如何

时间:2011-08-17 15:20:07

标签: php

这就是我的所作所为:

我们假设两个类是一个事件,另一个是GoogleCalendar。

class Event {
   private $googleCalendar;

   public function __construct() {
     $this->googleCalendar = new GoogleCalendar();
     $this->googleCalendar->set_event($this);
   }
}

class GoogleCalendar {
   private $event;

   public function set_event(&$event) {
      $this->event = $event;
   }
}

因此,当我访问GoogleCalendar类的event元素时,它表示该对象不存在。问题在哪里?

提前致谢,如果有什么不清楚,请告诉我!

Etienne NOEL

1 个答案:

答案 0 :(得分:1)

对象自动通过引用传递,您不需要&$event作为参数。

这是 example

<?php

    error_reporting(E_ALL);

    class a
    {
        public $prop = 'test';
        function __construct()
        {
            $b = new b();
            $b->preform_action($this);
        }
    }

    class b
    {
        public function preform_action($object)
        {
            if (is_object($object)) {
                var_dump($object);
            }
        }
    }

    $a = new a();

?>