cakephp:strtolower()期望参数1为str​​ing,给定数组

时间:2016-07-20 08:28:24

标签: php cakephp

我和cakephp一起工作。在所有页面中都有此警告:

  

警告(2):strtolower()期望参数1为字符串,给定数组为[CORE / src / Controller / Component / AuthComponent.php,第337行]

在第337行:

protected function _isAllowed(Controller $controller)
{
    $action = strtolower($controller->request->params['action']);
    return in_array($action, array_map('strtolower', $this->allowedActions));
}

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

请检查$this->allowedActions变量是一维数组还是使用pr函数确定子数组。

pr($this->allowedActions);
die();

请注意,通过使用array_map()传入内置的php函数,多维数组无法正常工作。您需要使自定义函数类似于custom_strtolower(),并且必须在array_map()中传递此函数。

我希望你能调试自己,我的诀窍将帮助你。

答案 1 :(得分:0)

我理解警告的原因并解决了它。我用过

$this->Auth->allow(['display','add',['controller'=>'options','action'=>'add']]);  

_isAllowd函数检查当前操作是否可以在没有身份验证的情况下访问通过在AppController中获取此行来删除此警告。