這是經理類的最後一步 觸發,這個方法也是放到 整個程式執行流程中的最重要一環.
注意:經理類需要載入到我們程式的整個執行流程中.
請注意 public/private/protected 的使用 我就全部寫public了
public function trigger($hook, $data='')
{
#首先需要判斷一下$hook 存不存在
if (
isset($this->_staff[$hook]) && is_array($this->_staff[$hook]) && count($this->_staff[$hook]) > 0
)
{
#如果存在定義 $plugin_func_result
foreach ($this->_staff[$hook] as $staff)
{
# 如果只是記錄 請不要返回
$plugin_func_result = '';
$class = &$staff[0]; #引用過來的類
$method = $staff[1]; #類下面的方法
if(method_exists($class,$method))
{
$func_result = $class->$method($data);
if(is_numeric($func_result)){
#這裡判斷返回值是不是字串,如果不是將不進行返回到頁面上
$plugin_func_result .= $func_result;
}
}
}
}
return $plugin_func_result;
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結