在CakePHP2.0上放置App :: Import

时间:2012-04-02 10:44:31

标签: php cakephp import location cakephp-2.0

我想知道在CakePHP2上放置App :: import的正确位置在哪里。

我认为在每个函数中使用它应该更好,以便在另一个函数不使用它时不加载它。

这样的事情:

public function name(){
   App::import('Controller', 'Classifiers');
   $classifiersController = new ClassifiersController();
   $this->request->data['Post'] = $classifiersController->getIdCategory('hola');
}

而不是在班级顶部使用导入。

您怎么看?

1 个答案:

答案 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');
}

虽然我强烈建议你仔细看看你在那里做什么。 在控制器中使用另一个控制器是非常错误的 - 在您的情况下,您可能想要导入模型并使用其方法。控制器仅用于特定请求操作的逻辑。将所有其他东西放在模型中(胖模型,超薄控制器原理)。