title: Pass in hard coded params into named Laravel route
body: <p>I am creating some hard coded routes that will likely be changed again freely in the future. To abstract the ideas a bit:</p>
  
  <p>We have a controller/method <code>BuySubscriptionController@start</code>:</p>
  
  <pre><code>class BuySubscriptionController
      function start()
      {
          $plan = Plan::findBySlug($request-&gt;get('plan'));
  
          return view('someView', ['plan' =&gt; $plan]);
      }
  }
  </code></pre>
  
  <p>We currently have the following route:</p>
  
  <pre><code>Route::get('/buy-subscription/start', 'BuySubscriptionController@start');
  </code></pre>
  
  <p>This means the sales team would need to advertise the following urls:</p>
  
  <pre><code>site.com/buy-subscription/start?plan=plan-one
  site.com/buy-subscription/start?plan=plan-two
  </code></pre>
  
  <p>Now we have been requested to have a few specialized routes:</p>
  
  <pre><code>site.com/purchase/the-basic-plan (plan-one)
  site.com/purchase/the-mega-plan (plan-two)
  </code></pre>
  
  <p>Now I am trying to add these specialized urls to my routes.  I was hoping to do something as follows, but does not work:</p>
  
  <pre><code>Route::get('/purchase/the-basic-plan', [
     'uses' =&gt; 'BuySubscriptionController@start', 
     'with' =&gt; ['plan' =&gt; 'plan-one']
  ]);
  
  Route::get('/purchase/the-mega-plan', [
     'uses' =&gt; 'BuySubscriptionController@start', 
     'with' =&gt; ['plan' =&gt; 'plan-two']
  ]);
  </code></pre>
  
  <p>Is there any way to achieve this, simply, without over engineering some new translation layer?  Keep in mind that next week the url might be <code>/buy/the-god-plan</code> meaning <code>plan-one</code>, so being able to simple add a line to my routes seems ideal. </p>