Я создаю несколько жестко закодированных маршрутов, которые, вероятно, будут снова свободно изменены в будущем. Чтобы немного абстрагироваться от идей:
У нас есть контроллер/метод BuySubscriptionController@start
:
class BuySubscriptionController
function start()
{
$plan = Plan::findBySlug($request->get('plan'));
return view('someView', ['plan' => $plan]);
}
}
На данный момент у нас следующий маршрут:
Route::get('/buy-subscription/start', 'BuySubscriptionController@start');
Это означает, что отделу продаж необходимо будет рекламировать следующие URL-адреса:
site.com/buy-subscription/start?plan=plan-one
site.com/buy-subscription/start?plan=plan-two
Теперь нас попросили создать несколько специализированных маршрутов:
site.com/purchase/the-basic-plan (plan-one)
site.com/purchase/the-mega-plan (plan-two)
Теперь я пытаюсь добавить эти специализированные URL-адреса в свои маршруты. Я надеялся сделать что-то следующим образом, но не работает:
Route::get('/purchase/the-basic-plan', [
'uses' => 'BuySubscriptionController@start',
'with' => ['plan' => 'plan-one']
]);
Route::get('/purchase/the-mega-plan', [
'uses' => 'BuySubscriptionController@start',
'with' => ['plan' => 'plan-two']
]);
Есть ли способ добиться этого просто, без чрезмерной разработки какого-то нового уровня перевода? Имейте в виду, что на следующей неделе URL-адрес может быть /buy/the-god-plan
, что означает plan-one
, поэтому возможность простого добавления строки в мои маршруты кажется идеальной.