Псевдоним контроллера CakePHP

Я знаю, что есть несколько других тем на эту тему, но ни одна из них, похоже, не соответствует моим потребностям.

Что у меня есть

  • example.com/log/
  • LogsController.php

У меня LogsControllerвместоLogController(множественное число ), потому что CakePHP хочет, чтобы у вас были контроллеры во множественном числе.

Но, как вы, возможно, знаете/заметили, example.com/log/никогда не будет использовать LogsControllerиз-за отсутствия 's' в URL-адресе.

Теперь я хочу, чтобы /log/*перенаправлялся на /logs/*. Отлично работает со следующим кодом:

Router::connect ('/log/*', array('controller'=>'logs'));

Но когда я пытаюсь получить доступ к example.com/log/actions/foo/bar, это не работает. Итак, погуглив, я нашел это:

Router::connect ('/log/:action/*', array('controller'=>'logs'));

Работает отлично. Но теперь, когда я снова пытаюсь получить доступ к example.com/log/, он говорит

Error: LogController could not be found.

Вопрос Итак, мой вопрос: как мне настроить псевдоним для моего URL-адреса, чтобы /log/использовал LogsControllerвместо того, чтобы пытаться использовать LogController.

У меня есть еще несколько контроллеров, в которых я хотел бы это изменить, например flight => FlightsController, profile => ProfilesController.


Взгляните на этот вопрос . Речь идет о той же теме, но немного о другом. Это может помочь вам в некотором роде.

5
задан Community 23 May 2017 в 12:17
поделиться