Laravel по-русски

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

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

#1 27.08.2020 10:23:30

Замена имени параметра в ресурсном роуте

Здравствуйте уважаемые форумчане. Столкнулся с вопросом. Когда мы в роуте прописываем ресурс, например:

Route::resource('/accounts', 'AccountsController')

, то в качестве параметра получаем $account. В документации сказано что, если я не хочу использовать это имя переменной, то я могу сделать так:

Route::resource('/accounts', 'AccountsController')->parameters(['accounts' => 'user'])

и во всех экшенах я буду иметь переменную $user вместо $account. Но я так и не нашел каким образом я могу поменять переменную для одного экшена. Пробовал вместо ключа accounts подставлять и show и accounts.show и все без толку. Не знаете как это можно реализовать?

Не в сети

#2 27.08.2020 10:53:07

Re: Замена имени параметра в ресурсном роуте

Можешь отказаться от resource и всё описывать по отдельности так как тебе нравится. smile Ибо оказалось, что тебе нужно что-то другое, а не ресурсный контроллер.

Можешь сделать по принятым стандартам только некоторые экшены, а остальные описать отдельно: ->only([]).

Наоборот указать какие экшены будут исключением и описать их отдельно: ->except([]).

Лично я за стандарты. Когда они не устраивают, это повод задуматься а не используешь ли ты микроскоп в функции молотка.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#3 27.08.2020 21:42:40

Re: Замена имени параметра в ресурсном роуте

Я понимаю что так можно было бы сделать. Меня просто смутил массив с параметрами. Если Тейлор подумал о том чтобы менять имя переменной, то значит мог подумать об этом для каждого отдельного экшена. Хотя, видимо, я ошибался) Спасибо за ответ.

Не в сети

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