Избежание взаимодействия между пулами и именами контроллеров или плагинов в маршрутизаторе cakephp 2.xPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Избежание взаимодействия между пулами и именами контроллеров или плагинов в маршрутизаторе cakephp 2.x

Сообщение Anonymous »

Я ищу способ автоматически избежать взаимодействия между пулями и контроллером/плагином в URL-адресе cakephp.
с помощью этой статьи (http://lecterror.com/articles/view/advanced-routing- with-cakephp-one-example) моему файлу Route.php это нравится:

Код: Выделить всё

$exceptions = Cache::read('exception_url_list');

if ($exceptions===false) {
$controllers=App::objects('Controller') ;
$plugins=App::objects('plugin');
$i=0 ;
foreach ($controllers as $controller) {
$list[$i]=str_replace('Controller','',$controller) ;
$i++ ;
}
$exceptions=array_merge($list,$plugins) ;
$i=0 ;
foreach ($exceptions as $value) {
$value = Inflector::underscore($value);
$value = strtolower($value) ;
$list[$i]=$value ;
$i++ ;
}
$exceptions=implode('|', $list) ;
Cache::write('exception_url_list',$exceptions) ;
}

Router::connect('/:language/:typeslug',
array('controller' => 'nodetypes', 'action' => 'view'),
array(
'language'=>'[a-z]{3}',
'typeslug' => '(?!('.$exceptions.')((\W+)|$))[a-zA-Z\-_]+/?$',
'pass'=>array('typeslug')
)
);

Router::connect('/:language/:typeslug/:nodeslug',
array('controller' => 'nodes', 'action' => 'view'),
array(
'language'=>'[a-z]{3}',
'typeslug' => '(?!('.$exceptions.')((\W+)|$))[a-zA-Z\-_]+/?$',
'pass'=>array('typeslug','nodeslug')
)
);
первый маршрут работает отлично, но второй маршрут, а не торт, будет искать имя контроллера, совпадающее с префиксом языка!

Подробнее здесь: https://stackoverflow.com/questions/182 ... -cakephp-2
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»