从帮助程序调用组件函数

时间:2015-01-07 11:37:59

标签: cakephp-3.0

前几天我写了一个组件,我觉得使用它非常方便,而不是其他类型的授权工具。我已将它转换为CakePHP 3并且它仍然完全适合我的需要,但现在我需要从帮助器中调用它的一个功能,而我无法弄清楚如何做到这一点。组件名称是PermissionsComponent。

这是我帮手的草稿:

namespace App\View\Helper;
use Cake\View\Helper;
use App\Controllers\Component\PermissionsComponent;

class PermissionsHelper extends Helper {
    function check($action, $redirect = false) {
        // how can I call my component's action check($action, $redirect)?
    }
}

如何从帮助者那里调用该组件的操作?

1 个答案:

答案 0 :(得分:0)

你不能。听起来你应该使用另一个可以在组件和帮助器中使用的对象。

// In PermissionsComponent
$permissions = new Permissions();
...
$this->_controller->set('_permissions', $permissions);

然后你可以在佣人中使用它:

// In PermissionsHelper
$permissions = $this->_View->get('_permissions');