title: Laravel namespacing routes
body: <p>I have controllers in different folder than Laravel native <code>App\Http\Controllers</code>. I am using a custom <code>Lib\MyApp</code> folder which has modules inside. Each module has its own controllers, models etc. I added to <code>composer.json</code> autoloading to <code>app\lib</code>.</p>
  
  <p>What I did is change <code>RouteServiceProvider</code> namespace:</p>
  
  <pre><code>protected $namespace = 'App\Lib\MyApp';
  </code></pre>
  
  <p>I did a <code>composer dump-autoload</code> after everything.</p>
  
  <p>Inside <code>MyApp</code> is a <code>Landing\Controller</code> folder with actual controller class inside. </p>
  
  <p><strong>Try 1 (ideal):</strong></p>
  
  <p>I would like to call my route like this:</p>
  
  <pre><code>Route::get('/', 'Landing\Controller\LandingController@index');
  </code></pre>
  
  <p>But this way I am getting a <code>ReflectionException</code> that the class is not found even though </p>
  
  <p><strong>Try 2:</strong></p>
  
  <pre><code>Route::get('/', '\Landing\Controller\LandingController@index');
  </code></pre>
  
  <p>Trailing slash gets rid of the namespace part when I refresh the page, and class is still said not to exist.</p>
  
  <p><strong>Try 3:</strong></p>
  
  <pre><code>Route::get('/', 'MyApp\Landing\Controller\LandingController@index');
  </code></pre>
  
  <p>This just duplicates <code>MyApp</code> folder, and class is not found as expected.</p>
  
  <p><strong>Try 4 (working, but don't want it like that)</strong></p>
  
  <pre><code>Route::get('/', '\MyApp\Landing\Controller\LandingController@index');
  </code></pre>
  
  <p>This works fine, although I would like to get rid of the <code>\MyApp\</code> part.</p>
  
  <p>Is something like this possible?</p>