我明白了这个想法,并且如此简单,我认为这可能是不切实际的,所以我会评论这样一个系统的优点(如果有的话)和缺点。
目的是开发一个简单但功能强大的系统权限。
答案 0 :(得分:1)
我能看到的问题是,如果你想保护一个特定的功能,你必须突然将其重命名为conf_
前缀。
我会围绕一个类来编写代理,该类在调用方法时检查doc块。只是一个想法:
class ArticlesProxy
{
private $backend;
public function __construct(articles $backend)
{
$this->backend = $backend;
}
public function __call($fn, $args)
{
$rm = new ReflectionMethod($this->backend, $fn);
if (strpos($rm->getDocComment(), 'protected') !== false) {
// this method is protected by whatever
}
// perform the proxy call
return $rm->invokeArgs($args);
}
}
$proxy = new ArticlesProxy(new articles());
$proxy->create(1, 2, 3);