1
在开发Joomla!插件,我遇到了一些非常有趣的事情。其中一个事件没有返回值,但它从函数内部调用变量。先前的知识告诉我,只有当变量在函数内是全局变量时,这个变量才能工作,但调度程序能够从函数外部调用变量。从函数调用非全局变量?
编辑:我刚刚发现从函数内部访问的变量需要是参数之一!这可能是func_get_params()或call_user_func()?
长途区号:
$instance = JDispatcher::getInstance();
$instance->trigger(onJoomCalledEvent, array(&$link, $other_params));
插件(片段):(Joomla!功能)
class plgMyPlugin extends JPlugin{
onJoomCalledEvent($link, $other_params){
$link = "Some Value Here";
return false;
}
}
该函数返回false,但不知怎么的应用程序能够提取$环节的价值。这是如何完成的?
你能发布一个链接到有问题的(完整)代码吗? – drew010 2012-07-17 03:35:40
实际的代码是Joomla的一部分,特别是JDisplatcher类。上面我添加的“调用代码”是调用插件的组件中的代码。 – alecwhardy 2012-07-17 04:42:05
谢谢你的帮助。 – drew010 2012-07-17 04:50:36