CakePHP架构中的Plugin :: load()函数

时间:2016-01-18 07:57:47

标签: cakephp composer-php

Cakephp Cookbook通常会讨论如何通过调用Plugin :: load()来加载插件,以便将插件类文件提供给应用程序层代码。不可思议的Cakephp版本=> 3.0是完全作曲家投诉,可以利用作曲家自动加载功能。为什么有必要为Cakephp插件提供特殊的类加载机制,当使用简单的use关键字声明可以实现同样的事情时?

<?php 
 //in config/boostrap.php
   Plugin::load('Migrations');

这两者有什么区别?

  // inside another controller
    use path/to/plugin/files 

1 个答案:

答案 0 :(得分:1)

Plugin::load()的目的是注册插件,加载可能的配置,引导和路由文件,如果你要求(使用autoload选项),它甚至可以为你不能使用作曲家的情况注册一个自动加载器。

Plugin::path()Plugin::classPath()Plugin::configPath()等方法仅适用于已注册的插件,CakePHP的一些内部功能依赖于这些方法,如加载资产,配置,或来自插件的本地化文件。

所以即使你 使用作曲家,你也可能/想要注册一个插件,以便让事情正常工作。