Функция перенаправления CakePHP - PullRequest
1 голос
/ 05 ноября 2011

У меня есть следующий код, который переопределяет функцию перенаправления в CakePHP:

function redirect($url, $status = null, $exit = true)
{
    if(is_array($url))
    {
        $url['?'] = 'continue=true';
    }
    else
    {
        $url.= '?continue=true';
    }
    return parent::redirect($url, $status, $exit);
}

Однако я не до конца понимаю, что делает оператор if и в чем разница между ними? Я надеюсь использовать эту функцию для отправки строк запроса о перенаправлениях, но мне нужно понять разницу между $url массивом или нет.

1 Ответ

2 голосов
/ 06 ноября 2011

$ url может быть либо:

  • URL, относящийся к Cake, например, "/ products / edit / 92" или "/ presidents / elect / 4"
  • массив, определяющий любое из следующего: 'controller', 'action' и / или 'plugin', в дополнение к именованным аргументам (элементам массива с ключами) и стандартным аргументам URL (индексированным элементам массива)

http://api.cakephp.org/class/router#method-Routerurl

Однако,

$url.= '?continue=true';

Не будет работать, если $ url что-то вроде "http://www.google.com/search?q=cakephp+url".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...