cor*_*elv 0 php components cakephp helper
我使用Cakephp 2.1,我需要从视图助手调用一个驻留在插件中的组件方法:
该组件在这里:
/app/Plugin/Abc/Controller/Component/AbcComponent.php
帮助者在这里:
/app/View/Helper/SimpleHelper.php
我试过里面的帮手:
App::import('Component', 'Abc.Abc');
$this->Abc = new Abc(); or $this->Abc = new AbcComponent;
Run Code Online (Sandbox Code Playgroud)
要么
$this->Abc = $this->Components->load('Abc.Abc');
Run Code Online (Sandbox Code Playgroud)
在控制器内部,这个组件没有问题.我知道这不推荐(MVC设计等),但如果我不这样使用它,我需要复制很多代码.我需要做类似的事情:
MyHelper extends Helper{
$simpleVar = Component->get_data();
}
Run Code Online (Sandbox Code Playgroud)
我使用CakePHP 2.4
这就是我从Helper成功调用Component的方法:
App::uses('AclComponent', 'Controller/Component');
class MyHelper extends AppHelper {
public function myFunction() {
$collection = new ComponentCollection();
$acl = new AclComponent($collection);
// From here you can use AclComponent in $acl
if ($acl->check($aro, $aco) {
// ...
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6047 次 |
| 最近记录: |