有人可以帮我把这个用英文写成PHP Cakephp

问题描述

| 对不起,我真傻。我正在遵循一个教程,将管理路由添加到我想作为学习练习创建的cakePHP应用程序中。 本教程的解释不够好(我认为我只是一个真正的初学者),我听不懂以下内容,有人可以用英语告诉我这里发生了什么。
public function isAuthorized() {
        $role = $this->Auth->user(\'role\');
        $neededRole = null;
        $prefix = !empty($this->params[\'prefix\']) ? $this->params[\'prefix\'] : null;
        if (!empty($prefix) && in_array($prefix,Configure::read(\'Routing.prefixes\'))) {
            $neededRole = $prefix;  
        }
        return (empty($neededRole) || strcasecmp($role,\'admin\') == 0 || strcasecmp($role,$neededRole) == 0);
    }
    

解决方法

你在哪里探测??? 你可以一一调试
// This method provides information of role about the currently authenticated user.
  $role = $this->Auth->user(\'role\'); 

// you first check with var_dump($this->params[\'prefix\']) and see the result

/*
 * this line use ternary operator,its say $this->params[\'prefix\'] is not empty 
 * then set $prefix = $this->params[\'prefix\'] otherwise set $prefix=null
*/
  $prefix = !empty($this->params[\'prefix\']) ? $this->params[\'prefix\'] : null;

/*
 *Now check the array
 *echo \"<pre>\";
 * print_r(Configure::read(\'Routing.prefixes\'));
 * echo \"</pre>\";   
 * now below line said if `$prefix` is not empty then search that `$prefix` 
 * value in this array `Configure::read(\'Routing.prefixes\')` and if it 
 * exist in the array then set  `$neededRole = $prefix;
 */ 

if (!empty($prefix) && in_array($prefix,Configure::read(\'Routing.prefixes\'))) {
            $neededRole = $prefix;  
        }
/* below line say say that if $role == admin then return $role or return $neededRole */
return (empty($neededRole) || strcasecmp($role,\'admin\') == 0 || strcasecmp($role,$neededRole)
参考 in_array 三元运算符 乐意效劳 :)     ,
public function isAuthorized() {
//获取当前用户的角色(管理员,用户,编辑者,访问者等)。     $ role = $ this-> Auth-> user(\'role \'); //分配一个空值     $ neededRole = null; //获取前缀的参数,并分配给$ prefix,如果找不到,则分配null $ prefix =!empty($ this-> params [\'prefix \'])吗? $ this-> params [\'prefix \']:null; //如果$ prefix不为null&如果$ prefix配置了路由,则将$ prefix分配给$ neededRole     如果(!empty($ prefix)&& in_array($ prefix,Configure :: read(\'Routing.prefixes \'))){                 $ neededRole = $ prefix;             }             return(empty($ neededRole)|| strcasecmp($ role,\'admin \')== 0 || strcasecmp($ role,$ neededRole)== 0);         } //其余的我不太确定。