我正在尝试做一些非正统的事情。我在一个目录中安装了2个cakePHP。是否可以将模型从我的应用程序安装扩展到另一个?
这就是我的目录结构:
app1
app
model
* app1Model
view
controller
libs
plugins
ventors
app2
app
model
* app2Model (I want to extent this model with app1Model)
view
controller
libs
plugins
ventors
我希望我的app2Model扩展app1Model。
答案 0 :(得分:2)
你确定可以!您正在寻找的是App::build()
。它允许您在使用App::uses()
时让Cake搜索其他目录。例如,您可以将其他路径添加到模型中,如下所示:
// assuming your app is under `/var/www`
App::build(array(
'Model' => array(
'/var/www/app1/app/model'
)
));
您使用App::build()
告诉Cake"当我使用App::uses()
时,也可以在这里查找课程和#34;。您可以将上面的代码放在app2的bootstrap文件中,告诉cake"还可以在/var/www/app1/app/model
中查找模型。
现在在app2中,当你使用:
App::uses('app1Model', 'Model');
对于名为app2/app/model
的模型,它会在/var/www/app1/app/model
和app1Model
中查找。您可以使用App::build()
指向控制器和插件等其他内容,如文档中所示。
小心名称冲突。从它的外观来看,您可能需要考虑building a plugin instead。