Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 28 апр 2024, 02:00

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: route url
СообщениеДобавлено: 16 дек 2012, 15:37 
Не в сети
Зеленый

Зарегистрирован: 16 дек 2012, 15:31
Сообщения: 6
добрый день, нуждаюсь в помощи, имею сайт на данном фрейме, роут стандартный, все по дефолту, создал модуль, в нем есть экшн
захожу по ссылке на него /modulename/myaction/1?p=2
Код:
public action_myaction($param){
var_dump($param); //NULL
var_dump($_GET); //array('p'=>'2');
}

nginx+fastCGI (все вертится на поддомене 4 уровня aaa.bbb.cccc.pro)
прошу меня простить в кохане новичок, прочитал только уроки на данном сайте, вопросов по работе не имею, интересует что может повлиять на такие действия (может проверка на домен или еще чего) почему роут не обрабатывается верно, согласно правил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route url
СообщениеДобавлено: 16 дек 2012, 15:40 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
Попробуйте заходить по ссылке /controllername/actionname/1?p=2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route url
СообщениеДобавлено: 16 дек 2012, 15:43 
Не в сети
Зеленый

Зарегистрирован: 16 дек 2012, 15:31
Сообщения: 6
прошу прощение за мою невнимательность, конечно же не модульнейм а контроллернейм я захожу (yiiшная привычка)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route url
СообщениеДобавлено: 16 дек 2012, 15:46 
Не в сети
Зеленый

Зарегистрирован: 16 дек 2012, 15:31
Сообщения: 6
есть модуль membership
в нем контроллер member
в нем action delete_identity
url: http://project.dev.site.pro/member/dele ... O4bxvNfb1N
реально выглядит картинка вот так
Код:
/**
    * Delete a member's identity
    * @param int ID of identity to delete
    */
   public function action_delete_identity($identity)
   {
        var_export($identity); //NULL
   }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route url
СообщениеДобавлено: 16 дек 2012, 21:29 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
В роуте
Код:
Route::set('default', '(<controller>(/<action>(/<id>)))')
   ->defaults(array(
      'controller' => 'search',
      'action'     => 'index',
   ));

можно указать reg exp, по которому будет подбираться controller, action, id и т.п. Например:
Код:
Route::set('id', '<controller>/<id>',array('controller'=>'[a-z]+','id'=>'[0-9]+'))
   ->defaults(array(
      'action'     => 'index',
   ));

т.е. если после controllername/ будут какие-то буквы, то данный роут не сработает - на месте id ожидается число.
Проверьте, возможно надо добавить что-то вроде
Код:
'action'=>'[a-z_]+'

Плюс, советую поставить вот эту замечательную штуку
Очень помогает в отладке приложений, есть спец вкладка routes, в которой видно какой роут сработал. ИМХО, оч удобно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route url
СообщениеДобавлено: 17 дек 2012, 02:53 
Не в сети
Бывалый

Зарегистрирован: 02 июн 2012, 07:14
Сообщения: 69
В параметры action-а id передаваться не будет, его получить можно так:
Код:
$this->request->param('id');


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route url
СообщениеДобавлено: 17 дек 2012, 12:33 
Не в сети
Зеленый

Зарегистрирован: 16 дек 2012, 15:31
Сообщения: 6
qed писал(а):
В параметры action-а id передаваться не будет, его получить можно так:
Код:
$this->request->param('id');

именно :lol: сам нашел уже, всем спасибо, но почему не работает передача переменных в экшн остается вопросом, пхп 5,3,с копейками


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route url
СообщениеДобавлено: 18 дек 2012, 03:26 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
lancecoder писал(а):
почему не работает передача переменных в экшн остается вопросом

Какая именно передача переменных?
Не помню с какой точно версии (кажется 3.2) больше нельзя передавать данные в экшн в качестве аргументов:
Код:
public function index_action($id){ // так не прокатит
$this->request->param('id'); // теперь работает только так


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route url
СообщениеДобавлено: 18 дек 2012, 17:24 
Не в сети
Зеленый

Зарегистрирован: 16 дек 2012, 15:31
Сообщения: 6
я тоже не дочитал камент предыдущего оратора, он это написал, ясно, учтем, а с чем связанно, наоборот же удобнее, сразу проверка на нот нулл


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route url
СообщениеДобавлено: 19 дек 2012, 00:47 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
lancecoder писал(а):
а с чем связанно, наоборот же удобнее, сразу проверка на нот нулл

С чем конкретно связано не скажу(можно посмотреть в комментах к коммиту на офф репозитории фрэйма), но, default значение также можно задать - просто передать его 2м аргументом:
Код:
$this->request->param('id',0);

Если id нет, то вернется 0, если вы это имели ввиду.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 70


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group