访问级别的逻辑

时间:2013-04-17 12:59:11

标签: php logic

我明白了这个想法,并且如此简单,我认为这可能是不切实际的,所以我会评论这样一个系统的优点(如果有的话)和缺点。

目的是开发一个简单但功能强大的系统权限。

enter image description here

enter image description here

1 个答案:

答案 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);