1
我有以下類PHP init被調用兩次?
class CLG_Container_Main_Schedule extends CLG_Container_Main
{
protected $_box = 'schedule';
public function __construct($calendar=null)
{
parent::__construct($this->_box);
$this->init();
}
public function init()
{
$this->setTitle('Schedule');
$html = '<div id="schedule_time">';
for($h = 5; $h < 24; $h++)
{
for($m=0; $m <60; $m += 15)
{
$time = str_pad($h, 2, '0', STR_PAD_LEFT) . ':' . str_pad($m, 2, '0', STR_PAD_RIGHT);
$time_id = str_pad($h, 2, '0', STR_PAD_LEFT) . str_pad($m, 2, '0', STR_PAD_RIGHT);
$html .= '<div class="schedule_time" time="' . $time_id . '">' . $time . '</div>';
}
}
$html .= '</div>';
$this->setContent($html);
}
public function render()
{
return parent::render();
}
}
出於某種原因,類函數被調用兩次,因爲我得到了$ HTML我創建的兩個實例。奇怪的是,我有另一個容器類,並且還調用init()在構造函數中,但一個只調用一次。
我錯過了什麼?當我從構造函數中刪除init()時,init()被調用了一些方法,並且一切正常。
感謝
'CLG_Container_Main'還在其構造函數中調用init()嗎? –
火了一個調試器,並設置在構造一個斷點。看看堆棧跟蹤,看看是什麼調用它。 – Matt
是的,CLG_Container_Main還調用init(),但應該運行init是主?或者我需要給他們不同的名字? – user1083320