在 CakePHP 中加载组件

我们可以通过两种方式加载组件。

  1. 通过初始化或覆盖 Controller 中的$ components 属性
  2. 通过在 Controller 的 initialize() 方法中使用 loadComponent() 方法。

方式 1 应该通过 AppsController.php 加载一个或多个组件来覆盖加载组件

class UsersController extends AppController {
    public $components = ['RequestHandler','Auth','Flash']; 
}

方式 2 当你需要为特定控制器动态加载组件时,请使用此方法。加载一个组件

class UsersController extends AppController {
    public function initialize() {
        parent::initialize();
        $this->loadComponent("RequestHandler"); // load specific component
        $this->loadComponent(["RequestHandler","Auth","Flash"]); // load specific component
    }
}