0

我正在尝试做一些非正统的事情。我在一个目录中有 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。

4

1 回答 1

2

你一定可以!您正在寻找的是App::build(). 它允许您在使用App::uses(). 例如,您可以向模型添加附加路径,如下所示:

// assuming your app is under `/var/www`
App::build(array(
  'Model' => array(
    '/var/www/app1/app/model'
  )
));

App::build()曾经告诉 Cake“当我使用 时App::uses(),也在这里寻找课程”。您可以将上面的代码放在 app2 中的引导文件中,以告诉 cake“也在/var/www/app1/app/model.

现在在 app2 中,当您使用时:

App::uses('app1Model', 'Model');

它将在名为 的模型中查找app2/app/model和查找。如文档中所示,您也可以使用指向控制器和插件等其他内容。/var/www/app1/app/modelapp1ModelApp::build()

谨防名称冲突。从外观上看,您可能需要考虑构建一个插件

于 2013-01-31T00:48:45.157 回答