Нужна возможность возвращать результат парсинга урл средствами Yii. Т.е. какой контроллер, какой экшн, как будто мы открыли эту страницу. Естественно, чтобы правила разбора, прописанные в конфиге учитывались.
Пример: урл = "/site/contacts". В результате получится controller id = "site", action id = "contacts".
Парсинг урл
- Elfer
- Сообщения: 132
- Зарегистрирован: 2012.06.07, 16:09
- Откуда: Беларусь, Лида
- Контактная информация:
Парсинг урл
Приколы: юмор, анекдоты - Zasmeshi.Ru сайт на Yii, великие возможности фреймворка.
Re: Парсинг урл
Код: Выделить всё
$result = Yii::app()->urlManager->parseUrl($request);
- Elfer
- Сообщения: 132
- Зарегистрирован: 2012.06.07, 16:09
- Откуда: Беларусь, Лида
- Контактная информация:
Re: Парсинг урл
А в $request что должно быть?ElisDN писал(а): ↑2019.08.15, 16:28Код: Выделить всё
$result = Yii::app()->urlManager->parseUrl($request);
Прописал следующий код:
Код: Выделить всё
$url = 'site/contacts';
$request = new CHttpRequest();
$request->setBaseUrl($url);
$result = Yii::app()->urlManager->parseUrl($request);
echo $result; // Выводит 'site/index', причём для любых примеров
Приколы: юмор, анекдоты - Zasmeshi.Ru сайт на Yii, великие возможности фреймворка.
Re: Парсинг урл
Это не baseUrl, а pathOnfo.
- Elfer
- Сообщения: 132
- Зарегистрирован: 2012.06.07, 16:09
- Откуда: Беларусь, Лида
- Контактная информация:
Re: Парсинг урл
Я ввожу урл, а не pathInfo. "/site/contacts" это я простейший урл привёл. Он может быть совершенно любой, к примеру такой:/user/info/username/victor.html
Средствами Yii этот урл распарсить, согласно правилам в config и я должен получить какой контроллер должен его обрабатывать, action, переменные (в нашем случае $username = victor).
Приколы: юмор, анекдоты - Zasmeshi.Ru сайт на Yii, великие возможности фреймворка.
- Elfer
- Сообщения: 132
- Зарегистрирован: 2012.06.07, 16:09
- Откуда: Беларусь, Лида
- Контактная информация:
Re: Парсинг урл
В классе CHttpRequest нету метода setPathInfo(). Вы можете скинуть проверенный готовый код?
Приколы: юмор, анекдоты - Zasmeshi.Ru сайт на Yii, великие возможности фреймворка.