2015-03-31 76 views
0

我想在插件中調用模型,但我想在插件中調用此控制器。控制器如何在插件中調用模型? (cakephp 2.x(2.6))(app - > plugin - > PluginName - > Controller)

- >程序 - >插件 - >管理 - >模式 - > exampleModel.php

- >程序 - >插件 - >管理 - >位指示(呼叫模型)

我想他們

$this->loadModel("ModelName"); 

$this->loadModel("PluginName.ModelName"); 

返回結果的應用程序 - >模型 - > exampleModel.php

我該如何稱呼它?

+0

你在bootstrap.php中加載插件? – Salines 2015-03-31 20:27:26

+0

是的,我在bootstrap.php中加載插件。 CakePlugin :: Load('Admin'); app - > config - > bootstrap.php – 2015-03-31 20:39:12

回答

0

似乎從app -> model -> exampleModel.php VS,你必須在這兩個目錄中兩個相同的類,但不支持Plugin -> Admin -> Model -> exampleModel.php,恐怕:

由於PHP缺乏在舊版本的命名空間,你不能有相同的類或相同的文件名,在您的插件。即使它是兩個不同的插件。所以使用唯一的類和文件名,可能在插件名稱前加上類和文件名。

來源:http://book.cakephp.org/2.0/en/plugins/how-to-create-plugins.html

+0

Okey。謝謝你的回答。但是在我的控制器函數中有多個這樣的代碼($ this-> loadModel(「PluginName.ModelName」);)。如果只有這個代碼,這是行得通的。示例=>類exmapleController擴展AdminAppController {函數oneFunction(){$ this-> loadModel(「PluginName.ModelName」); } function twoFunction(){$ this-> loadModel(「PluginName.ModelName」); }} – 2015-03-31 22:35:30

+0

更好的將模型引入你的控制器的方法是在你的地方我將從這裏的插件書:http://book.cakephp.org/2.0/en/plugins/how-to-create-plugins.html - 那裏的代碼段將幫助你 – ptica 2015-04-01 06:33:34

+0

是的,我使用公共$使用數組( 「pluginName.currentModel」, 「pluginName.useModell」);結果成功。多謝兄弟 – 2015-04-01 11:45:26

0

在bootstrap.php中寫

App::uses('ClassRegistry', 'Utility'); 
$Setting = ClassRegistry::init('Configuration'); 
相關問題