注释配置概述


注释配置, 让你的代码更清晰优雅

自定义注释

除了默认的命令之外, 您还可以自定义注释, 然后在您的控制器基类, 或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();

来获取所有当前方法的所有注释, 然后在页面中输出"我们有熊猫", 当然你还可以做更有意义的事情 :)