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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 21 янв 2014, 13:56 
Не в сети
Бывалый

Зарегистрирован: 14 июн 2013, 17:19
Сообщения: 82
А то я тут сначала седлал хранение роутов в БД. Но потом мне самому это не очень понравилось и я всё стёр и вернулся опять по старинке.

Просто потому, что роутов у меня получилось довольно много. И я начал делать отдельные файлы роутов для каждого компонента.

Идеально по моему было бы хранение роутов в виде xml дерева. Но так как сами роуты, имеют "<>" то нужно что-то мудрить и с этим... Кроме того не понятно как организовать кеширование больших объёмов роутов в этом случае...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 янв 2014, 23:59 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Цитата:
Идеально по моему было бы хранение роутов в виде xml дерева.

А почему не Yaml? Там нет "<>" :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 янв 2014, 00:58 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
а смысл их в базе хранить если всё равно каждый раз надо все извлекать, если только у тебя это дело в админке не настраивается

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 янв 2014, 01:20 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
arhont писал(а):
Идеально по моему было бы хранение роутов в виде xml дерева. Но так как сами роуты, имеют "<>" то нужно что-то мудрить и с этим... Кроме того не понятно как организовать кеширование больших объёмов роутов в этом случае...


А вообще не понятно, что вам мешает хранить это дело в XML, если уж вы его выбрали, как формат для хранения. Вы же не html-разметку там хранить собираетесь, не php-код, а всего лишь параметры роута.

Что мешает скажем, для вот такого роута (к примеру):

Код:
Route::set('resize''media/imagecache/<type>/<dimensions>(/<file>)', array(
    
'dimensions' => '\d+x\d+',
    
'type'       => 'crop|ratio|resize',
    
'file'       => '.+'
))
->
defaults(array(
    
'controller' => 'resize',
    
'action'     => 'image',
    
'type'       => 'resize'
));
 


Использовать вот такой xml:

Код:
<route name="resize">
   <pattern name="resize" value="media/imagecache/$type/$dimensions(/$file)">
      <dimensions>\d+x\d+</dimensions>
      <type>crop|ratio|resize</type>
      <file>.+</file>
   </pattern>
   <defaults>
      <controller>resize</controller>
      <action>image</action>
      <type>resize</type>
   </defaults>
</route>



?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 янв 2014, 23:09 
Не в сети
Бывалый

Зарегистрирован: 14 июн 2013, 17:19
Сообщения: 82
Sergey писал(а):
arhont писал(а):
Идеально по моему было бы хранение роутов в виде xml дерева. Но так как сами роуты, имеют "<>" то нужно что-то мудрить и с этим... Кроме того не понятно как организовать кеширование больших объёмов роутов в этом случае...


А вообще не понятно, что вам мешает хранить это дело в XML, если уж вы его выбрали, как формат для хранения. Вы же не html-разметку там хранить собираетесь, не php-код, а всего лишь параметры роута.

Что мешает скажем, для вот такого роута (к примеру):

Код:
Route::set('resize', 'media/imagecache/<type>/<dimensions>(/<file>)', array(
    'dimensions' => '\d+x\d+',
    'type'       => 'crop|ratio|resize',
    'file'       => '.+'
))
->
defaults(array(
    'controller' => 'resize',
    'action'     => 'image',
    'type'       => 'resize'
));
 


Использовать вот такой xml:

Код:
<route name="resize">
   <pattern name="resize" value="media/imagecache/$type/$dimensions(/$file)">
      <dimensions>\d+x\d+</dimensions>
      <type>crop|ratio|resize</type>
      <file>.+</file>
   </pattern>
   <defaults>
      <controller>resize</controller>
      <action>image</action>
      <type>resize</type>
   </defaults>
</route>



?


По моему там реально много писать кода и для моего проекта этого в данный момент не требуется. Хотя он разросся. Может быть кто нибудь писал модуль для хранения роутов в виде xml? Если нет, то по моему, самое время в будущем мне попробовать его написать.

Вопрос ещё вот какой, как ограничить доступ к этому дереву от прямого вызова? И второй вопрос чем лучше читать это XML дерево, что-бы кешировать его элементы?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 янв 2014, 23:16 
Не в сети
Бывалый

Зарегистрирован: 14 июн 2013, 17:19
Сообщения: 82
WinterSilence писал(а):
а смысл их в базе хранить если всё равно каждый раз надо все извлекать, если только у тебя это дело в админке не настраивается

Где-то я видел странный код, где вообще один роут сделан и в него всё подставляется...
Ну, а в админке можно сделать раздел управления роутами.

Дело в том, что неудобно реально так работать... Каждый роут уникален. У некоторых нет параметров, а у других их двадцать. Хотя можно и это запрограммировать. Если долго "коханить" то точно пригодится.

База данных есть база данных - все данные лучше хранить в ней, т.к. так будет быстрее и правильнее. За исключением древовидных структур.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 янв 2014, 16:11 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
arhont писал(а):
WinterSilence писал(а):
а смысл их в базе хранить если всё равно каждый раз надо все извлекать, если только у тебя это дело в админке не настраивается

Где-то я видел странный код, где вообще один роут сделан и в него всё подставляется...
Ну, а в админке можно сделать раздел управления роутами.

Дело в том, что неудобно реально так работать... Каждый роут уникален. У некоторых нет параметров, а у других их двадцать. Хотя можно и это запрограммировать. Если долго "коханить" то точно пригодится.

База данных есть база данных - все данные лучше хранить в ней, т.к. так будет быстрее и правильнее. За исключением древовидных структур.


Я сторонник обоих методов. Хотя методов больше и они имеют право на существование. Я для Kohana пишу всего 2 года, но уже сейчас это совершенно не сложно — реализовать такую структуру на xml, например или на yaml. Так что от времени работы с Kohana это не зависит


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 янв 2014, 16:12 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
arhont писал(а):
По моему там реально много писать кода и для моего проекта этого в данный момент не требуется. Хотя он разросся. Может быть кто нибудь писал модуль для хранения роутов в виде xml? Если нет, то по моему, самое время в будущем мне попробовать его написать.

Вопрос ещё вот какой, как ограничить доступ к этому дереву от прямого вызова? И второй вопрос чем лучше читать это XML дерево, что-бы кешировать его элементы?


.htaccess?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

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


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

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