CakePHP 2.X - 在app / Lib目录中加载自定义类

时间:2012-02-08 22:58:17

标签: php cakephp cakephp-2.0

我有一个叫做MyClass的课程。它位于app / Lib / MyDir / MyClass中。我想使用App:uses()加载它,但无法使它工作。

在CakePHP 1.3中,我会通过以下方式加载它:

App::import('Lib', 'MyDir/MyClass');  //this still works in CakePHP 2.1

在CakePHP 2.1中,我正在尝试:

App::uses('MyClass', 'Lib/MyDir');

当我尝试'新'启动MyClass时,我找不到Class'MyClass'。

是否无法在自定义Lib类上使用App :: uses?我无法继续使用App :: import(),因为如果'App :: import('Lib','MyDir / MyClass');'在代码路径中显示2x我在第531行的lib / Cake / Core / App.php中得到“无法重新声明类”错误

我做错了什么?

编辑:所以如果我做App :: uses('MyClass','MyDir');有用。不知道那是不是应该如何表现,而是报告错误。

1 个答案:

答案 0 :(得分:20)

你试过

吗?
App::uses('MyClass', 'MyDir');

?因为“Lib”本身可以看作是一个基本目录

PS:您甚至应该将Lib中的所有内容分组到类似于核心的子文件夹(包)中。