Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 4 » Вопрос об использовании RESTful контроллера » 10.12.2013 10:22:32

функция

static function dynamic_routings() {
    $array = array(array('classname' => 'BackendController', 'url' => 'backend'));
    foreach ($array as $r) {
        if (Cache::has('dynamic_route_'.$r['classname']) && Cache::has('dynamic_route_'.$r['classname'].'_size')
            && Cache::get('dynamic_route_'.$r['classname'].'_size') == filesize(__DIR__.'/controllers/'.$r['classname'].'.php')) { // -- роутеры из кэша --
            foreach (Cache::get('dynamic_route_'.$r['classname']) as $method) Route::any($r['url'].'/'.preg_replace('/_/', '/', $method), array('uses' => $r['classname'].'@____'.$method));
        } else {
            if (Cache::has('dynamic_route_'.$r['classname'])) Cache::forget('dynamic_route_'.$r['classname']);
            if (Cache::has('dynamic_route_'.$r['classname'].'_size')) Cache::forget('dynamic_route_'.$r['classname'].'_size');
            Cache::forever('dynamic_route_'.$r['classname'].'_size', filesize(__DIR__.'/controllers/'.$r['classname'].'.php'));
            $routers = null;
            foreach (get_class_methods($r['classname']) as $method) {
                if (mb_substr($method, 0, 4) == '____' && mb_strstr(mb_substr($method, 4), '_')) {
                    $routers[] = mb_substr($method, 4);
                    Route::any($r['url'].'/'.preg_replace('/_/', '/', mb_substr($method, 4)), array('uses' => $r['classname'].'@'.$method));
                }
            }
            if ($routers) Cache::forever('dynamic_route_'.$r['classname'], $routers); // -- запись роутеров в кэш --
        }
    }
}

вызов перед маршрутом restful контроллера

func::dynamic_routings();

#3 Re: Laravel 4 » Вопрос об использовании RESTful контроллера » 08.12.2013 10:26:21

Это понятно, но хотелось бы, чтобы не нужно было вверху определения роутинга контроллера писать всякий раз роутинг для таких случаев. А если их будет 200?

#4 Laravel 4 » Вопрос об использовании RESTful контроллера » 07.12.2013 21:36:55

shulfei
Ответов: 6

Добрый день.

Просьба помочь в поиске решения:

Если прописать роутинг контроллера
Route::controller('backend', 'BackendController');
то урл функций вида getSecurityUser будет /backend/security-users.
Хочется чтобы урл был вида /backend/security/users.

Как этого добиться?

Уверен есть решения как с mod_rewrite, так и без него.

Подвал раздела