我想知道在CakePHP2上放置App :: import的正确位置在哪里。
我认为在每个函数中使用它应该更好,以便在另一个函数不使用它时不加载它。
这样的事情:
public function name(){
App::import('Controller', 'Classifiers');
$classifiersController = new ClassifiersController();
$this->request->data['Post'] = $classifiersController->getIdCategory('hola');
}
而不是在班级顶部使用导入。
您怎么看?
答案 0 :(得分:1)
app :: import的正确位置:no where! ;)
你在2.0中使用App :: uses()用于所有应用程序类(导入仅用于供应商的东西)。
然后将它放在文件的最顶部(<?php
之后)
在你的情况下:
<?php
App::uses('ClassifiersController', 'Controller');
...
public function name(){
$classifiersController = new ClassifiersController();
$this->request->data['Post'] = $classifiersController->getIdCategory('hola');
}
虽然我强烈建议你仔细看看你在那里做什么。 在控制器中使用另一个控制器是非常错误的 - 在您的情况下,您可能想要导入模型并使用其方法。控制器仅用于特定请求操作的逻辑。将所有其他东西放在模型中(胖模型,超薄控制器原理)。