Кто-то может поставить это на английском для меня PHP Cakephp

Мне жаль, что я такая глупая задница. Я следую руководству по добавлению маршрутизации admin в мое приложение 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);
    }

Ответ 1

где u имеет probelm???

u может отлаживать один за другим

// 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)

Ссылка

Счастливая Помощь:)

Ответ 2

public function isAuthorized() {

//выбирает текущую роль пользователя (admin, user, editor, visitor и т.д.)
  $ role = $this- > Auth- > user ('role'); //присваивает пустое значение
  $ neededRole = null;
//выбирает параметр для префикса и присваивает префикс $, если не найден, присваивает значение null
$ prefix =! empty ($ this- > params ['prefix'])? $this- > params ['prefix']: null;
//если префикс $не равен null и если префикс $имеет настроенный маршрут, назначьте $префикс $needRole
  if (! empty ($ prefix) && in_array ($ prefix, Configure:: read ('Routing.prefixes'))) {               $ requiredRole = $префикс;
          }           return (empty ($ neededRole) || strcasecmp ($ role, 'admin') == 0 || strcasecmp ($ role, $neededRole) == 0);       }
//остальное я не уверен.