CakePHP - 包含app目录之外的目录中的类

时间:2013-01-10 17:54:06

标签: cakephp cakephp-2.0 cakephp-2.1

我正在尝试从我的应用程序外部包含一个杂项库类(它被不同的应用程序使用)。

我的应用程序位于:

/var/www/websites/my_website/app/

课程位于:

/var/www/websites/libs/CakePHP/MyClass.php

在我的bootstrap中,我正在努力弄清楚如何添加从该目录加载类的路径:

App::build(array('Lib' => array('/var/www/websites/lib/')));

App::uses('MyClass', 'CakePHP');

$myClass = new MyClass();

1 个答案:

答案 0 :(得分:3)

不应在您的引导程序中加载,而应使用AppController的{​​{1}}方法加载。

此外,还有一个非Cake库的保留位置,即beforeFilter目录。您可以将所有课程放在那里,然后通过以下方式轻松加载团队:

app/Vendor

如果确实需要在备用路径中,则需要指定并调用完整路径。并确保使用相同的名称。现在,您正在指定App::uses('MyClass', 'Vendor'); ,但是调用Lib就好像它本身就是CakePHP(事实并非如此)。这不行。它看起来应该是这样的:

build

同时检查加载供应商文件的the documentation,它有很多例子。