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

ryn*_*nop 14 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
Run Code Online (Sandbox Code Playgroud)

在CakePHP 2.1中,我正在尝试:

App::uses('MyClass', 'Lib/MyDir');
Run Code Online (Sandbox Code Playgroud)

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

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

我究竟做错了什么?

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

mar*_*ark 20

你试过了吗

App::uses('MyClass', 'MyDir');
Run Code Online (Sandbox Code Playgroud)

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

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