无法在CakePHP 2.5.1中将Vendor类导入Component

时间:2015-05-15 18:53:40

标签: php cakephp cakephp-2.0

我一直在查看本主题的所有相关问题,并没有提供任何解决方案(通常 App :: import())对我有用,可能是因为我有不同的配置,这是以下内容:

我有一个常规的蛋糕安装,它从外部文件夹加载组件(因此在此安装之外)。即使对于我现在尝试使用的组件,它也能完美运行(在我尝试加载供应商类之前,它工作正常)。这个Vendor类我想在Cake安装之外使用它(与组件相同)。这就是安装的外观:

[]
...... [的 shared_resources ]
...................................... [ CakePHP的]
.................................................. ...... [的部件]
.................................................. ............................ MyCustomComponent.php
.................................................. ...... [供应商]
.................................................. .................. [的Myvendor ]
.................................................. .................................... MyVendor.php
...... [的的MySite ]
................... [ 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');例如。

我也尝试过使用 App :: build(数组('Vendor'=>数组(dirname(ROOT)。'/ shared_resources / CakePHP / Vendor /'))); in引导程序文件,与组件一样。

我不知道还有什么可以尝试,任何帮助都将不胜感激!!!

哦,我已经与PHP核实过,该路径中也存在供应商类文件。

1 个答案:

答案 0 :(得分:1)

根据您的文件夹结构,

要访问MyVendor.php,您应该这样写

App::import('Vendor', 'MyVendor', array('file' => 'MyVendor/MyVendor.php'));

有关详情,请参阅http://book.cakephp.org/2.0/en/core-utility-libraries/app.html

相关问题