Laravel по-русски

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

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

#1 02.02.2017 15:42:22

Один Route для всех методов контроллера

Может кто знает, как реализовать один route, котороый указывает на контроллер с множеством методов. т.е сылка имеет вид хттп://domen/controller/method и в зависимости от параметра "method" в сылке, route сам определяет какой метод вызвать. Просто не охото каждый раз писать новый путь к одому и тому же контроллеру при создании очередного метода в нем

Не в сети

#2 03.02.2017 01:24:35

Re: Один Route для всех методов контроллера

На мой взгляд это только усложнит читабельность кода
я как делал такой финт когда изобретал велосипед, выглядит примерно так (с переводом на лару)

Route::get('/{strMethodName}', ['as' => 'my_route', 'uses' => 'MyController@route']);
//в котроллере создаёте нужные методы, и ловите роут вот так
public function route($strMethodName)
{
    $this->$strMethodName()
}

как то так ...

Не в сети

#3 03.02.2017 10:27:01

Re: Один Route для всех методов контроллера

Я тоже о таком подходе задумывался. В некоторых фреймворках изначально реализовано "controller/аction", в роуте сразу прописывается метод по умолчанию, если в url не указан явно, то он и будет вызыватся, а в остальных случаях, те которые есть в контроллере. Удобность такого подхода очевидна, при создание нового метода не надо ни где больше писать новый route или создавать сылку. Почему-то думал, что в laravel это без проблем реализуется

Не в сети

#4 03.02.2017 10:57:53

Re: Один Route для всех методов контроллера

Route::controller() ?

Не в сети

#5 12.02.2017 22:38:25

Re: Один Route для всех методов контроллера

constb пишет:

Route::controller() ?

В 5.3 его уже нет.

Не в сети

#6 14.02.2017 19:19:37

Re: Один Route для всех методов контроллера

Route::any(...);

Не в сети

#7 15.02.2017 15:45:05

Re: Один Route для всех методов контроллера

Dzhangar пишет:
Route::any(...);

Это не то. Any говорит о том что тип запроса может быть любым.

Не в сети

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