注释配置概述
注释配置, 让你的代码更清晰优雅
自定义注释
除了默认的命令之外, 您还可以自定义注释, 然后在您的控制器基类, 或dispatcher
事件中处理.
namespace app\web\controllers;
use Cross\Core\Delegate;
class Main extends Web
{
/**
* 默认控制器
* @cp_city chengdu
*/
function index()
{
$this->data ['action'] = __FUNCTION__;
$this->data ['version'] = Delegate::getVersion();
$this->display($this->data);
}
}
比如在控制中自定义一行注释cp_city
, 当传参为chengdu
的时候, 做某些特殊处理, 可以在入口通过dispatcher
事件来处理
$web = Cross\Core\Delegate::loadApp('web');
$app = $web->getApplication();
$web->on('dispatcher', function () use ($app) {
$annotate = $app->getAnnotateConfig();
if (isset($annotate['city']) && $annotate['city'] == 'chengdu') {
echo '我们有熊猫';
}
});
$web->run();
在匿名函数内部
$annotate = $app->getAnnotateConfig();
来获取所有当前方法的所有注释, 然后在页面中输出"我们有熊猫", 当然你还可以做更有意义的事情 :)