烘焙某些控制器时,我注意到在每个控制器的顶部都有一行
App::uses('AppController', 'Controller');
我注意到AFA删除它并没有什么不同,没有那一行,一切都很好。自动完成功能在任何情况下均有效,因此不能用于此目的。那么,那是什么意思呢?我的蛋糕版本是2.5.3。
谢谢
App :: uses是一种静态方法,用于注册要加载的文件(与类相对应)的位置,以使PHP自动加载器能够即时加载。
这App::uses('AppController', 'Controller');
行声明,如果的AppController类引用(或扩展,在这种情况下)和AppController的类尚未定义,它应该寻找内的文件app/Controller
目录,并构建实际的文件名,如下所示:AppController.php
其中一部分是cakePHP约定,PHP5的一部分。
删除此行时什么都不会中断的原因是,该文件可能是应用程序中其他位置(另一个控制器,在引导过程中)所必需的,因此php在内存中已经有AppController类。
之所以将其包含在第一行中,是因为您烘焙的控制器扩展了AppController类。它对要加载的AppController类有严格的依赖关系,并且也许在蛋糕壳或单元测试环境中,应用程序控制器不会在事前自动自动加载,因此必须进行包含。App :: uses就像告诉蛋糕(和PHP):“嘿,如果您正在寻找AppController
该类,但您还没有它,则应该在app / Controller目录中查找并.php
在末尾添加!” 如果文件已经加载,App :: uses将无效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句