ルーティングとコントローラー (1/5)
作成:2016-01-24 08:58
更新:2016-01-24 08:58
更新:2016-01-24 08:58
■ルーティングとroutes.php
Webアプリケーションの開発をするとき、最初に考えないといけないのは「ルーティング」です。ルーティングというのは、「どのアドレスにアクセスしたらい、どの処理を実行するか」という割当のことです。
フレームワークを使ったことがなかった頃、Webの開発はとてもシンプルでした。公開フォルダの中の「myapp」というフォルダにhelo.phpというファイルを置いたら、/myapp/helo.phpにアクセスすればそれが呼び出されました。
が、フレームワークでは、そういう単純なアクセスの仕方はしません。アプリケーション全体をフレームワークによって制御し、必要に応じてプログラムを呼び出し実行するようになっています。「このアドレスにアクセスしたら、どのプログラムを実行し、どのファイルを表示するか」も、すべてフレームワークから管理できるようになっているのです。それを行うのがルーティングです。
このルーティングは、「app」内の「Http」フォルダの中にある「routes.php」というプログラムによって行われています。これを開くと、下のリストのようなスクリプトが書かれています。
ここでは、2つのstaticメソッドの呼び出しが書いてあります。整理すると、こういうものですね。
ルーティングは、このように「Route」というクラスに用意されているstaticメソッドを呼び出すことで設定します。これらのメソッドは、以下のように2つの引数を持っています。
第1引数が、ルーティングで割り当てるドレスなどの情報を示すものになります。この値は、メソッドによって多少内容が違います。getメソッドではアドレスを表すテキストですし、groupではアドレス情報をまとめた配列になっていたりします。(詳細は後ほど)
そして、第2引数が、そこにアクセスされた際に呼び出される処理になります。この関数で返された値が、そのアドレスにアクセスした結果として扱われます。出力する内容(テキストなど)をそのままreturnしてもいいし、HTMLなどのテンプレートファイルを返したり、コントローラーの呼び出す処理を指定したりします。
フレームワークを使ったことがなかった頃、Webの開発はとてもシンプルでした。公開フォルダの中の「myapp」というフォルダにhelo.phpというファイルを置いたら、/myapp/helo.phpにアクセスすればそれが呼び出されました。
が、フレームワークでは、そういう単純なアクセスの仕方はしません。アプリケーション全体をフレームワークによって制御し、必要に応じてプログラムを呼び出し実行するようになっています。「このアドレスにアクセスしたら、どのプログラムを実行し、どのファイルを表示するか」も、すべてフレームワークから管理できるようになっているのです。それを行うのがルーティングです。
このルーティングは、「app」内の「Http」フォルダの中にある「routes.php」というプログラムによって行われています。これを開くと、下のリストのようなスクリプトが書かれています。
ここでは、2つのstaticメソッドの呼び出しが書いてあります。整理すると、こういうものですね。
Route::get(○○);
Route::group(○○);
ルーティングは、このように「Route」というクラスに用意されているstaticメソッドを呼び出すことで設定します。これらのメソッドは、以下のように2つの引数を持っています。
Route::メソッド ( 値 , 関数 );
第1引数が、ルーティングで割り当てるドレスなどの情報を示すものになります。この値は、メソッドによって多少内容が違います。getメソッドではアドレスを表すテキストですし、groupではアドレス情報をまとめた配列になっていたりします。(詳細は後ほど)
そして、第2引数が、そこにアクセスされた際に呼び出される処理になります。この関数で返された値が、そのアドレスにアクセスした結果として扱われます。出力する内容(テキストなど)をそのままreturnしてもいいし、HTMLなどのテンプレートファイルを返したり、コントローラーの呼び出す処理を指定したりします。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ