Непонятное значение при роутинге как узнать откуда ошибка?

вот урл

http://film.lc/serial/category/oneserial?id=serial-Bekstrom


делаю так
frontend/config/main

'urlManager' => [
                'enablePrettyUrl' => true,
                'showScriptName' => false,
                'rules' => [
                            [
                                 'class' => 'frontend\components\FilmUrlRule',
                            ],
                ],


frontend\components\FilmUrlRule

class FilmUrlRule extends Object implements UrlRuleInterface
    {
     public function createUrl($manager, $route, $params)
        {
            var_dump($route);
            var_dump($params);
    }
     public function parseRequest($manager, $request)
        {        return false;
        }
    }


получаю следующее значение var_dump
string(19) "serial/category/all" array(0) { }
почему так и как понять где ошибка роутинге?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
1. У Вас parseRequest возвращает false, что вы ожидаете от этого кода.
2. Почему в rules оказался класс
3. Почему возникла необходимость создавать класс и переопределять стандартный, почему бы не довиться того что Вы хотите стандартными методами?

'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
'serial/category/oneserial' => 'mySomeController/myaction' 
            ],
],

Внутри mySomeController:
public function actionMyaction($id){
echo $id;
}

или если serial и category это переменные
'rules' => [
'<serial>/<category>/oneserial' => 'mySomeController/myaction' 
            ],

Внутри mySomeController:
public function actionMyaction($id,$serial,$category){
echo $id;
echo $serial;
echo $category;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы