代码之家  ›  专栏  ›  技术社区  ›  Leo

是否可以在CakePHP中“驱逐”导入的控制器?

  •  0
  • Leo  · 技术社区  · 15 年前

    我遇到了一个问题 GroupsController::build_acl() - http://book.cakephp.org/view/647/An-Automated-tool-for-creating-ACOs

    症状:

    不是所有的方法 NodesController (由我定义)返回。

    build_acl() 导入第三方插件,该插件还具有 以及随后的 App::import() 不会覆盖它。

    我需要一种方法,要么删除导入的控制器,要么在保留在作用域中时强制重新导入。

    2 回复  |  直到 15 年前
        1
  •  1
  •   dogmatic69 ornoone    15 年前

    现在,您无法覆盖它的原因再次归结为php。如果你跑了怎么办

    <?php
    include('some/file.php');
    include('some/file.php');
    ?>
    

    您将得到关于已经定义的类的错误。

    Cake阻止了这种情况的发生,所以唯一(正确的方法)是不要有两个同名的控制器。你可以给他们起任何你喜欢的名字,并使用路由器映射到漂亮的网址。

        2
  •  0
  •   Leo    15 年前

    原来这个插件是多余的,在应用程序的任何地方都没有被调用,如果它是一个类重新定义错误,那么它就会被破坏。删除文件后一切正常。