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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 05 май 2012, 19:32 
Не в сети
Зеленый

Зарегистрирован: 22 мар 2012, 02:24
Сообщения: 4
спасибо за наглядный пример


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 19 июн 2012, 17:05 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
Подскажите, как можно объеденить эти два роута в один? И вообще это реально или нет?
Код:
Route::set('admcontacts', 'admin/admcontacts(/<page>)', array('page' => '.+'))
   ->defaults(array(
            'directory'  => 'admin',
            'controller' => 'admcontacts',
            'action'     => 'index',
   ));
   
Route::set('admcallback', 'admin/admcallback(/<page>)', array('page' => '.+'))
   ->defaults(array(
            'directory'  => 'admin',
            'controller' => 'admcallback',
            'action'     => 'index',
   ));


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 19 июн 2012, 21:24 
Не в сети
Бывалый

Зарегистрирован: 02 июн 2012, 07:14
Сообщения: 69
Код:
Route::set('adm', 'admin/<controller>(/<page>)', array('page' => '.+', 'controller' => 'admcontacts|admcallback'))
   ->defaults(array(
            'directory'  => 'admin',
            // 'controller' => 'admcontacts',
            'action'     => 'index',
   ));

По идее так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 04 авг 2012, 15:18 
Не в сети
Зеленый

Зарегистрирован: 03 авг 2012, 00:09
Сообщения: 2
Здравствуйте! А скажите вообще в чем смысл роутов? не проще либо было разработчикам сделать автоматический запуск контроллера и екшена например как в LiveStreet cms, или в этом есть какие-то плюсы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 04 авг 2012, 15:35 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Не знаю как реализовано в LiveStreet cms, но тут они тоже автоматически запускаются если прописать в адресе
сайт.ру/контроллер, то запустится контроллер (по дефолту). А вот если мы хотим, чтобы при адресе сайт.ру/труляля и сайт.ру/траляля запускался все тот же контроллер - тут уже нужны роуты.
Впрочем можно и дефолтным пользоваться и вообще все переделать под себя :)

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 08 авг 2012, 18:59 
Не в сети
Новичок

Зарегистрирован: 03 июл 2012, 14:46
Сообщения: 17
Есть контроллер и action. В метод передается либо step либо id. Как это написать в роуте?
Код:
                                 $step = $this -> request -> param('step');
         $id = $this -> request -> param('id');

               if ( ! isset($step))
       {
      if (isset($id))
      {
...


Думаю суть понятна. Но как это в роуте записать?

Код:
Route::set('message', 'user(/message(/<action>(/<step>(/<id>))))', array('step'   => '[0-9]+',
                                                       'id'     => '[0-9]+',
                                                                                             ))

Если перейти по адресу user/message/1 имея ввиду id, роут подумает что я имею ввиду step


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 08 авг 2012, 19:40 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Wapruks писал(а):
В метод передается либо step либо id. Как это написать в роуте?


Так не проще?

Код:
  Route::set('message', ''<controller>/message(/<action>)(/<id>)', array('id' => '\d+', 'action' = 'step')
    ->defaults(array(
        'controller' => 'user'
        'action' => 'view'
    ));


В данном случае при наборе адреса user/message/1 сработает action_view, а при наборе user/message/step/1 должен сработать action_step. Как то так..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 08 авг 2012, 20:04 
Не в сети
Новичок

Зарегистрирован: 03 июл 2012, 14:46
Сообщения: 17
Я проще отдельный метод создал и все =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 14 янв 2013, 15:59 
Не в сети
Зеленый

Зарегистрирован: 13 янв 2013, 20:02
Сообщения: 1
как должен виглядить код здесь
Код:
 /**
    * Saves or loads the route cache. If your routes will remain the same for
    * a long period of time, use this to reload the routes from the cache
    * rather than redefining them on every page load.
    *
    *     if ( ! Route::cache())
    *     {
    *         // Set routes here
    *         Route::cache(TRUE);
    *     }
    *    ...
    */

с нашими роутами скажите пжалуста


Последний раз редактировалось Sergey 14 янв 2013, 23:21, всего редактировалось 1 раз.
обернул исходники в [code]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Роутинг — Часть 3
СообщениеДобавлено: 14 янв 2013, 23:23 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
vlodko писал(а):
как должен виглядить код здесь
Код:
 /**
    * Saves or loads the route cache. If your routes will remain the same for
    * a long period of time, use this to reload the routes from the cache
    * rather than redefining them on every page load.
    *
    *     if ( ! Route::cache())
    *     {
    *         // Set routes here
    *         Route::cache(TRUE);
    *     }
    *    ...
    */

с нашими роутами скажите пжалуста


в Gleez мы делаем так:


Код:
/**
 * Установка маршрутизации
 *
 * @uses  Path::lookup  Получание адреса из алиаса
 */
if (! Route::cache())
{
  // Роут по умолчанию с переданным в фильтры колбэком Path::lookup()
  Route::set('default', '(<controller>(/<action>(/<id>)))',
    array(
      'action' => 'index|welcome'
    ))
    ->filter('Path::lookup')
    ->defaults(array(
      'controller' => 'welcome',
    ));

  // Кешировать роутинг в продакшене
  Route::cache(Kohana::$environment === Kohana::PRODUCTION);
}


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

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


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

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


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

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