Разница в маршрутизации CodeIgniter? - PullRequest
0 голосов
/ 08 января 2011

Быстрый вопрос, который я не могу найти нигде, чтобы иметь отношение к маршрутизации в CI - есть ли реальная разница между глобальным catch all:

$route['(.*)'] = 'controller';

и

$route['(:any)'] = 'controller';

У меня нет проблем с маршрутизацией, и кажется, что они работают одинаково, но мне было просто интересно, был ли один путь лучше другого.

1 Ответ

0 голосов
/ 08 января 2011

ОК, после поиска в классе Router кажется, что (: any) является выражением CodeIgniter, которое преобразуется в выражение регулярного выражения:

.+

Это отличается от использования (. *)конечно выражение регулярного выражения.Таким образом, разница между:

.+

и

.*

. + Соответствует предыдущему символу 1 или более раз, тогда как * соответствует предыдущему символу 0 или более раз.Учитывая предыдущий символ.(любой символ), это по сути означает то же самое в контексте, в котором он используется.Надеюсь, что это полезно и для кого-то еще.

...