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

如何在CakePHP中将全局传递给插件

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

    我的主控制器中有一个全局对象,需要传递给插件控制器,如何实现并解决这个范围?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Nik Chankov    15 年前

    如果您谈到应用程序app_controller.php中的全局对象,那么它非常简单,因为所有插件都扩展了AppController类。基本上你的代码是什么:

    class AppController extends Controller {
       function beforeFilter(){
          $this->global_object = ... //the global object instance.
       }
    }
    

    然后,因为插件的AppController扩展了应用程序的AppController,所以您可以在插件的所有控制器函数中访问它。例如:

    class YourPluginAppController extends AppController {
        function doSomethingWithGlobalObject(){
            $this->global_object->doSome();//
        }
    }
    

    希望这就是你所要求的。