首页  >  文章  >  后端开发  >  如何给 controller 或 action 附加属性?

如何给 controller 或 action 附加属性?

WBOY
WBOY原创
2016-06-06 20:41:02936浏览

在web开发过程中,有没有一种方式给 controller 或 action 附加一种属性,类似给 controller 或 action 打上不同的 tag,用于区分不同的类型,如下:

<code>/*
 * @Tags("All")
 */
class UserController extends Controller {
    /*
     * @Tags("Read")
     */
    public function index() {
    }

    /*
     * @Tags("Write")
     */
    public function add() {
    }

    /*
     * @Tags("Write")
     */
    public function foo() {
    }
}
</code>

回复内容:

在web开发过程中,有没有一种方式给 controller 或 action 附加一种属性,类似给 controller 或 action 打上不同的 tag,用于区分不同的类型,如下:

<code>/*
 * @Tags("All")
 */
class UserController extends Controller {
    /*
     * @Tags("Read")
     */
    public function index() {
    }

    /*
     * @Tags("Write")
     */
    public function add() {
    }

    /*
     * @Tags("Write")
     */
    public function foo() {
    }
}
</code>

撸 C# 不? 里面有 Attribute 可以给成员进行标注。
python 也可以用装饰器来实现。
其他的就不熟了。


UPDATE: PHP 可以通过反射拿到注释,黑魔法……
ReflectionClass::getDocComment
Faking method attributes in PHP?

Java有annotation,问题在于你想怎么利用这些tag?

<code>@All //也可以@Tags("All")
class UserController extends Controller {
    @Read
    public Object index() {
    }

    @Write
    public Object add() {
    }

    @Write
    public Object foo() {
    }
}
</code>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn