时间:2021-07-01 10:21:17 帮助过:48人阅读
/*
* @Tags("All")
*/
class UserController extends Controller {
/*
* @Tags("Read")
*/
public function index() {
}
/*
* @Tags("Write")
*/
public function add() {
}
/*
* @Tags("Write")
*/
public function foo() {
}
}
在web开发过程中,有没有一种方式给 controller 或 action 附加一种属性,类似给 controller 或 action 打上不同的 tag,用于区分不同的类型,如下:
/*
* @Tags("All")
*/
class UserController extends Controller {
/*
* @Tags("Read")
*/
public function index() {
}
/*
* @Tags("Write")
*/
public function add() {
}
/*
* @Tags("Write")
*/
public function foo() {
}
}
撸 C# 不? 里面有 Attribute 可以给成员进行标注。
python 也可以用装饰器来实现。
其他的就不熟了。
UPDATE: PHP 可以通过反射拿到注释,黑魔法……
ReflectionClass::getDocComment
Faking method attributes in PHP?
Java有annotation,问题在于你想怎么利用这些tag?
@All //也可以@Tags("All")
class UserController extends Controller {
@Read
public Object index() {
}
@Write
public Object add() {
}
@Write
public Object foo() {
}
}