플러그인은 플러그인 클래스의 boot 메소드를 통해 라우트를 등록할 수 있습니다. 라우트를 등록할 때, 특정 URL의 요청을 처리할 로직을 클로저로 작성하는 대신, 별도의 컨트롤러 클래스에 작성할 수 있습니다. 성격이 비슷한 요청을 처리하기 위한 컨트롤러 클래스를 정의하십시오.
<?php namespaceApp\Http\Controllers;useApp\Http\Controllers\Controller;classUserControllerextendsController {/** * Show the profile for the given user. * * @paramint $id * @returnResponse */publicfunctionshowProfile($id) {returnview('user.profile', ['user'=>User::findOrFail($id)]); }}
classUserControllerextendsController {/** * Instantiate a new UserController instance. */publicfunction__construct() {$this->middleware('auth');$this->middleware('log', ['only'=> ['fooAction','barAction']]);$this->middleware('subscribed', ['except'=> ['fooAction','barAction']]); }}
묵시적 컨트롤러
XE에서는 한번의 라우팅 등록으로 컨트롤러를 통해 모든 액션들을 처리할 수 있는 손쉬운 방법을 제공합니다. 먼저 Route::controller 메소드를 사용하여 경로를 지정합니다:
Route::controller('users','UserController');
controller 메소드는 두 개의 인자를 넘겨 받도록 되어 있습니다. 첫 번째 인자는 컨트롤러로 제어할 URI이고, 두 번째는 컨트롤러의 클래스명을 의미합니다. 이어서 해당하는 HTTP 메소드 이름을 접두어로 (get, post..) 사용하는 형태로 컨트롤러의 메소드를 추가합니다: