相关疑难解决方法(0)

如何在Web MVC应用程序中实现访问控制列表?

第一个问题

请问,您能解释一下在MVC中如何实现最简单的ACL.

这是在Controller中使用Acl的第一种方法......

<?php
class MyController extends Controller {

  public function myMethod() {        
    //It is just abstract code
    $acl = new Acl();
    $acl->setController('MyController');
    $acl->setMethod('myMethod');
    $acl->getRole();
    if (!$acl->allowed()) die("You're not allowed to do it!");
    ...    
  }

}
?>
Run Code Online (Sandbox Code Playgroud)

这是一个非常糟糕的方法,它的缺点是我们必须将Acl代码添加到每个控制器的方法中,但我们不需要任何其他依赖项!

接下来的方法是制作所有控制器的方法private并将ACL代码添加到控制器的__call方法中.

<?php
class MyController extends Controller {

  private function myMethod() {
    ...
  }

  public function __call($name, $params) {
    //It is just abstract code
    $acl = new Acl();
    $acl->setController(__CLASS__);
    $acl->setMethod($name);
    $acl->getRole();
    if (!$acl->allowed()) die("You're not allowed to do it!"); …
Run Code Online (Sandbox Code Playgroud)

php oop model-view-controller acl

94
推荐指数
3
解决办法
3万
查看次数

适用于高级PHP开发人员的MVC

我需要更有经验的程序员的帮助.我想提高我的MVC技能.但我找不到关于Google for MVC的好教程.谷歌总是给"初学者MVC".

我理解MVC是什么,我可以做到,但我没有经验足以在OOP中做一些实用的事情.

如果有人知道一个好的面向对象的MVC教程,请指引我到正确的地方 - 我正在寻找好的链接,书籍等.

php oop model-view-controller

64
推荐指数
1
解决办法
2万
查看次数

标签 统计

model-view-controller ×2

oop ×2

php ×2

acl ×1