CakePHP Custom Route Classes - Как передать аргументы? - PullRequest
1 голос
/ 11 ноября 2011

Я создал собственный класс маршрута, и я хочу иметь возможность передать настройки / параметры конструктору, чтобы он был настраиваемым.Можно ли это сделать?

Документация для пользовательских классов маршрутов:

http://book.cakephp.org/2.0/en/development/routing.html#custom-route-classes

Мой пользовательский класс маршрутов:

https://github.com/Signified/CakePHP-Model-Route-Class

1 Ответ

0 голосов
/ 11 ноября 2011

Вероятно, вы можете просто передать любые настройки / опции, которые у вас могут быть в настройках функции Router :: connect.

App::import('Lib', 'ModelRoute');
Router::connect('/', array('controller' => 'pages', 'action' => 'display'),
    Array('routeClass' => 'ModelRoute',
          'someMoreOptions' => 'OptionValue' ));

Затем вы можете получить ключ someMoreOptions в вашем конструкторе

public function __construct($settings = array())
    {
        $this->settings = Set::merge($this->settings, $settings);
        // Now you can do something with the option passed.
        if(isset($this->settings['someMoreOptions'])
            DoSomethingWith($this->settings['someMoreOptions']);
    }
...