Я представлю вам реализацию в Croogo CMS
на основе CakePHP
вот класс CroogoRouter
Маршрутизатор
посмотрите на эту строку:
Router::connect('/:locale/:controller/:action/*', array(), array('locale' => '[a-z]{3}'));
Это создаст шаблон Localized routes
, где locale
переменная может быть 3-буквенный код языка ( читать в ISO 639 )
, что означает, что если любой из проанализированных путей начнется с 3 letter code
, он будет использоваться как переменная locale
, передаваемая в AppController
Тогда посмотрите на этот файл , где представлено использование такого класса:
CroogoRouter::connect('/', array('controller' => 'nodes', 'action' => 'promoted'));
Как вы можете видеть, вы подключите немного action path
(здесь /
) к контроллеру и действию, но CroogoRouter позаботится о локализации этого пути с помощью :locale
variable
Примечание. Не забудьте упомянуть лицензию MIT , которая по умолчанию установлена для Croogo CMS , если вы собираетесь использовать ее код; -)