Zend_Controller_Router_Route_Regex нечувствителен к регистру - PullRequest
2 голосов
/ 04 июня 2010

Для тех, кто интересуется, почему Zend_Controller_Router_Route_Regex соответствует разным маршрутам, например.hxxp: //example.com/EN против hxxp: //example.com/en, вот объяснение.

Zend_Controller_Router_Route_Regex неявно не учитывает регистр.Это устанавливается в методе Zend_Controller_Router_Route_Regex::match().Это фрагмент кода, который устанавливает модификатор PCRE_CASELESS:

if (!$partial) {
 $path = trim(urldecode($path), '/');
 $regex = '#^' . $this->_regex . '$#i';
} else {
 $regex = '#^' . $this->_regex . '#i';
}

Я не знаю, есть ли способ подавить это поведение внутри регулярного выражения.Есть идеи?

1 Ответ

1 голос
/ 05 июня 2010

Вы можете расширить Zend_Controller_Router_Route_Regex и просто написать другой метод match, где единственная разница будет в шаблоне регулярных выражений минус флаг i.

...