【发布时间】:2015-07-27 19:25:13
【问题描述】:
我一直在查看该主题的所有相关问题,但所提供的解决方案(通常是 App::import() )都没有为我工作,可能是因为我有不同的配置, 如下:
我有一个常规的蛋糕安装,它从 外部文件夹 加载组件(所以在这个安装之外)。即使对于我现在尝试使用的组件,它也很有效(在我尝试加载 Vendor 类之前它工作正常)。这个 Vendor 类我也想把它放在 Cake 安装之外(与组件相同)。这是这个安装的样子:
[根]
.......[shared_resources]
.............................[CakePHP]
..................................................... ......[组件]
..................................................... .............................MyCustomComponent.php
..................................................... ......[供应商]
..................................................... .....[我的供应商]
..................................................... .....................MyVendor.php
......[我的网站]
................... [cakephp 典型文件夹结构]
在我网站的 bootstrap.php 文件中,我有 App::build(array('Controller/Component' => array(dirname(ROOT) . '/shared_resources/CakePHP/Component/'))); 为了能够在任何控制器中加载该组件,它工作正常,我放在该文件夹中的任何组件都可以加载并正常工作。
现在,我正在尝试在 MyCustom 组件中加载 MyVendor 类,但无论我如何尝试我都无法让它工作尝试实例化时出现class not found错误。
我尝试过使用 php 和 Cake 的 require()、import()、App::import() 和 App::uses() 与所有可能的路径组合(绝对和相对)没有任何成功,将它们放在组件类的声明之前和实际使用供应商类的方法中。例如,我尝试的最后一个是App::import('Vendor', '/absolute/path/to/shared_resources/Vendor/MyVendor/MyVendor.php');。
我也尝试过在引导文件,就像组件一样。
我不知道还能尝试什么,任何帮助将不胜感激!!!
哦,我已经用 PHP 检查了文件 Vendor 类文件也存在于该路径中。
【问题讨论】:
标签: php cakephp cakephp-2.0