全ルートのロジックをたった一つのroutes.phpファイルで定義するより、コントローラークラスを使い構造化して利用したいと、考えていることでしょう。コントローラーは関連したルートごとのロジックをクラスにまとめると同時に、自動的な依存の注入など、より高度なフレームワークの機能が使える利点があります。基本的にコントローラーはapp/controllersディレクトリーに設置されます。このディレクトリーはデフォルトでcomposer.jsonファイルにclassmapオプションとして登録されています。コントローラーは技術的に、どのディレクトリー・サブディレクトリーにも設置可能です。ディスク上のコントローラークラスファイルの位置に、ルートの宣言は依存していません。そのため、Composerがコントローラークラスをオートロードできるのであれば、どこにでもお好きな場所へどうぞ!コントローラークラスの一例です。}}全てのコントローラーはBaseControllerクラスを拡張する必要があります。BaseControllerはapp/controllersディレクトリーの中にあり、共通のコントローラーロジックを記述するために使用できます。BaseControllerはフレームワークのControllerクラスを拡張しています。このコントローラールートを呼び出してみましょう。&#39;UserController@showProfile&#39;);もし、あなたがサブフォルダーでネストし、PHP名前空間で体系付けられたコントローラーを採用しているのなら、簡単に完全なクラス名をルートで使用することができます。&#39;Namespace\FooController@method&#39;);注目:LaravelではPHPクラスのオートローディングにComposerを利用しています。Composerが認識する場所であれば、ファイルシステム上のどこにでもコントローラーを置くことが可能です。コントローラーディレクトリーは、アプリケーションのファイル構造をあなたに強いるものではありません。コントローラーへのルーティングは、ファイルシステムより完全に分離されています。コントローラールートに名前を付けることもできます。&#39;name&#39;));コントローラーアクションに対するURLを生成するには、URL::actionメソッドか、actionヘルパーメソッドを使用してください。action(&#39;FooController@method&#39;);現在実行中のコントローラーアクションの名前を取得するにはcurrentRouteActionメソッドを使用します。Route::currentRouteAction();コントローラーフィルターコントローラールートに、「普通」のルートと同じようにフィルターを指定することができます。&#39;UserController@showProfile&#39;));その一方で、コントローラーの内部でフィルターを指定することも可能です。}}更に、無名関数を使用しインラインでコントローラーフィルターを指定することもできます。}}フィルターとしてコントローラのメソッドを使用したい場合は、フィルターの定義に@記法を使用してください。}}暗黙的なコントローラーLaravelでは一つのルート定義だけで、コントローラーの全アクションを簡単に処理できます。最初にRoute::controllerメソッドでルートを定義します。&#39;UserController&#39;);controllerメソッドは2つの引数を取ります。最初はコントローラーが処理するベースのURIで、2つ目はコントローラーのクラス名です。続いて対応するHTTP動詞名をプレフィックスに使用した、コントローラメソッドを付け加えてください。}}indexメソッドはコントローラーが処理するURIのルートに対応します。この例ではusersです。コントローラアクションを複数の単語で命名するのでしたら、「ダッシュ」で分離したURIでアクセスできます。下のコントローラーアクション、UserControllerは、users/admin-profileというURIに対応します。{}RESTフルリソースコントローラーリソースフルコントローラーはリソースに関するRESTフルコントローラーを簡単にしてくれます。アプリケーションにより管理されている「写真(phots)」を管理するコントローラーを作成するとしましょう。Artisanコマンドラインでcreate:makeを実行し、Route::resourceメソッドでルートを定義すれば、そのようなコントローラを素早く生成できます。コマンドラインでコントローラーを作成するには、以下のコマンドを実行してください。PhotoControllerそのコントローラーをリソースフルなルートとして登録しましょう。&#39;PhotoController&#39;);この一行の宣言だけで写真リソースに対するRESTフルな多彩のアクションを処理する複数のルートを作成できます。生成されたコントローラーには処理する変数とURIが指し示す各アクションのスタブメソッドが予め含まれています。NameGET/リソース名indexresource.indexGET/リソース名/createcreateresource.createPOST/リソース名storeresource.storeGET/リソース名/{resource}showresource.showGET/リソース名/{resource}/editeditresource.editPUT/PATCH/リソース名/{resource}updateresource.updateDELETE/リソース名/{resource}destroyresource.destroyリソースアクションの一部のみを取り扱いたい場合もあると思います。--except=index更に、処理するルートに関して、アクションの一部を指定したいこともあるでしょう。&#39;destroy&#39;)));デフォルトで、すべてのリソースコントローラーアクションはルート名を持ちます。オプションにnames配列を渡すことで、こうした名前をオーバーライドすることもできます。「ネスト」したリソースコントローラーには、ルート宣言で「ドット」記法を使用してください。&#39;PhotoCommentController&#39;);これにより、「ネスト」したリソースが登録され、photos/{photoResource}/comments/{commentResource}のURLにアクセスできるようになります。}}リソースコントローラーにルートを追加するデフォルトのリソースルート以外のルートをリソースコントローラーへ追加する必要がある場合は、Route::resourceの呼び出しより前に定義する必要があります。&#39;PhotoController&#39;);見つからないメソッドの処理Route::controllerを使用する場合、指定されたコントローラで一致するメソッドが見つからないときに呼び出されるバックアップメソッドを定義することが可能です。メソッド名はmissingMethodと付け、メソッド名とリクエストのパラメーターを配列で受け取ります。//}リソースコントローラーを使用する場合は、見つからないメソッドを処理するため、コントローラーに__callマジックメソッドを定義します。kawase(Translation).このバージョンのサポートは終了しています。