/** * Добавить маршрут * * маршруты (можно хранить в конфиге приложения) * можно использовать wildcards (подстановки): * :any - любое цифробуквенное сочетание * :num - только цифры * в результирующее выражение записываются как $1, $2 и т.д. по порядку * @code * $routes = array( * // 'url' => 'контроллер/действие/параметр1/параметр2/параметр3' * '/contacts' => 'MainController/contacts', // страница контактов * '/blog' => 'BlogController/index', // список постов блога * '/blog/:num' => 'BlogController/viewPost/$1' // просмотр отдельного поста, например, /blog/123 * '/blog/:any/:num' => 'BlogController/$1/$2' // действия над постом, например, /blog/edit/123 или /blog/dеlete/123 * )); * * * RouterLite::addRoute($routes); * * // а можно добавлять по одному * RouterLite::addRoute('/about', 'MainController/about'); * * // непосредственно запуск обработки * RouterLite::dispatch(); * * @endcode */ public static function addRoute($route, $destination = null) { if ($destination != null && !is_array($route)) { $route = array($route => $destination); } self::$routes = array_merge(self::$routes, $route); }