English | 简体中文 | 繁體中文
查询

Yaf_Controller_Abstract::getInvokeArg()函数—用法及示例

「 获取在控制器初始化时通过Yaf_Dispatcher::getInstance()->registerPlugin(new XXXPlugin($arg1, $arg2))注册的插件中传递的参数 」


函数名称:Yaf_Controller_Abstract::getInvokeArg()

适用版本:Yaf 2.0.0及以上版本

函数说明:Yaf_Controller_Abstract::getInvokeArg() 方法用于获取在控制器初始化时通过Yaf_Dispatcher::getInstance()->registerPlugin(new XXXPlugin($arg1, $arg2))注册的插件中传递的参数。

用法:

mixed Yaf_Controller_Abstract::getInvokeArg ( string $name )

参数:

  • $name (string):插件注册时所指定的参数名称。

返回值:

  • 如果参数存在,则返回对应的值。
  • 如果参数不存在,则返回null。

示例:

class CustomPlugin extends Yaf_Plugin_Abstract {
    public function __construct($arg1, $arg2) {
        // 构造函数接收参数
    }

    public function routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
        // 在路由开始之前执行
    }
}

class IndexController extends Yaf_Controller_Abstract {
    public function init() {
        // 获取插件注册时传递的参数值
        $arg1 = $this->getInvokeArg('arg1');
        $arg2 = $this->getInvokeArg('arg2');
        
        echo "arg1: " . $arg1 . "<br>";
        echo "arg2: " . $arg2 . "<br>";
    }
}

在上述示例中,我们首先通过Yaf_Dispatcher::getInstance()->registerPlugin()方法注册了一个自定义插件CustomPlugin,并传递了两个参数arg1和arg2。然后,在IndexController的init()方法中,我们使用Yaf_Controller_Abstract::getInvokeArg()方法获取了这两个参数的值,并进行了输出。

假设arg1的值为"Hello",arg2的值为"World",则示例的输出结果为:

arg1: Hello
arg2: World
补充纠错
热门PHP函数
分享链接