日本では、今FuelPHPが大人気ですが、アメリカでは、FuelPHPよりもLaravelというPHPフレームワークが人気みたいです。早速Laravelを導入してその使い心地を試してみたいと思います。
1. 以下の公式サイトへ行き、右上の『DOWNLOAD』ボタンをクリックしてダウンロードします。
2. ダウンロードしたZipファイルを解凍したら、フォルダ名をlaravelに変更して、c:/xammp/htdocs/内に保存します。
3. 以下はDreamweaverでの設定方法を説明いたします。Dreamweaverのメニューバーからサイト⇛新規サイトとクリックして、サイト設定のダイアログを開きます。
4. ①サイト名をLaravel(任意)、②ローカルサイトフォルダーをC:/xampp/htdocs/laravelと入力したら、左のメニューから③サーバーをクリックします。
5. 新規サーバーの追加アイコン(+のアイコン)をクリックして、①サーバー名をLaravel(任意)、使用する接続をローカル/ネットワーク、サーバーフォルダをC:/xampp/htdocs/laravel/、Web URLをhttp://localhost/laravel/pubic/に変更して②保存をクリックします。サイト設定の画面に戻ったら、③テストにもチェックを入れ、④保存をクリックします。
6. 下記のように保存されました。
7. ブラウザからhttp://localhost/laravel/public/と入力してみます。下記のように表示されたらとりあえずインストールOKです。
フォルダ構成
8. それでは、Laravelのフォルダ構成を見てみましょう。ルートフォルダに5つのフォルダがあります。それぞれ見てみましょう。
- application
ユーザープログラムを保存するフォルダがここだと思われます。 このフォルダの中にconfig、controllers、languag、libraries、migrations、models、tasks、tests、viewsフォルダとbundles.php、routes.php、start.phpファイルがあります。 - bundles
ここには、Laravelのモジュールを保存するようになっているのだと思われます。アプリケーションに対するリクエストをバンドルに処理させるように設定することが出来るみたいです。bundlesフォルダの中には、docsフォルダ、その中にlibrariesフォルダとviewsフォルダがあります。 - laravel
この中にLaravelのコアクラスが格納されていると思われます。 - public
ここが公開フォルダだと思われます。 この中にbundles、css、img、js、laravelフォルダがあります。 - strage
ストレージとは、コンピュータ内でデータやプログラムを記憶する装置のことですので、ここにログやその他の情報を保存しているのだと思われますが、詳細な使い方は後日調べてみます。このフォルダの中にcache、database、logs、sessions、views、workフォルダがあります。
基本的な設定
9. それではいつもの『Hello Word!』を表示したいと思ったのですが、その前に基本的な設定を行っておきましょう。application.phpを開き下記の修正を加えます。
laravel/application/config/application.php
- 42行目の'index' => 'index.php',をindex'=>'';に修正します。
- 56行目の'key' => 'YourSecretKeyGoesHere!',を32文字程度のランダムな文字に修正します。
例:''key' => 'ikjuol985kmjiloqlim!$9lilm4kolm', - 72行目のfalseをtrueに修正します。'profiler' => true,
- 96行目の'en'を'ja'に修正します。 'language' => 'ja',
- 140行目のタイムゾーンを修正します。'timezone' => 'Asia/Tokyo',
routes.phpでプログラムを動かす
10. Laravelで私が面白いと思ったのは、controllerが無くてもプログラムが動くところです。それでは、controllerを使わずに『Hello World!』を表示してみましょう。routes.phpに下記のコードを追加します。
laravel/application/routes.php
Route::get('/',function(){ echo 'Hello World!'; });
11. ブラウザを開いてみます。先程まで、Laravelのトップページが表示されていたアドレスに『Hello World!』が表示されました。とても面白いですね。
http://localhost/laravel/public
コントローラでHello World!
12. 次は、コントローラを使って『Hello World!』を表示してみましょう。controllersフォルダにhello.phpを作成して、下記のように記述します。
laravel/application/controllers/hello.php
<?php class Hello_Controller extends Base_Controller{ public function action_index(){ echo "Hello World!"; } }
13. Laravelのコントローラは基本的にBase_Controllerを継承して作成します。それでは試しに、ブラウザでアドレスを打ち込んでみます。
http://localhost/laravel/public/hello
14. 404エラーが表示されました。これは何故でしょう。先程のroutes.phpで『Hello World!』が表示されたのと関係があります。つまり、Laravelではroutes.phpでコントローラのルーティングを登録する必要があるのです。それでは、routes.phpに下記のコードを追加します。
laravel/application/routes.php
Route::controller(array('hello'));
15. これで、Hello World!が表示されるようになります。
http://localhost/laravel/public/hello
アプリケーションの全てのコントローラを登録する
16. このようにLaravelは使用するコントローラごとにルーティングを登録する必要があります。これはセキュリティリスクを減らすための仕様だと思いますが、毎回毎回コントローラを登録するのが面倒な人には、一度に全てのコントローラを登録する方法も用意されています。下記のコードを記述すれば、アプリケーション中のControllersフォルダに含まれている全てのコントローラを一度に登録できます。只、出来ればコントローラごとにルーティングを登録した方がいいと思いますが。
laravel/application/routes.php
Route::controller(Controller::detect());
ビューファイルを表示する
17. 次にビューファイルを表示してみましょう。下記のようなビューファイルを作成します。
laravel/application/views/home/index.php
<!doctype html> <html> <head> <meta charset="utf-8"> <title>index.php</title> </head> <body> <h1>ビューファイル</h1> これはviews/home/index.phpファイルを表示しています。 </body> </html>
18. それでは、ルートファイルでビューを表示してみましょう。routes.phpに下記のコードを追加します。
laravel/application/routes.php
Route::get('/', function(){ return View::make('home.index'); });
19. ブラウザで表示してみます。
20. 最後にコントローラからビューファイルを表示してみます。home.phpを作成して、下記のコードを記述します。
laravel/application/controllers/home.php
<?php class Home_Controller extends Base_Controller { public function action_index() { return View::make('home.index'); }
21. routes.phpにhomeコントローラのルーティングを登録します。
laravel/application/routes.php
Route::controller(array('hello','home'));
22. これで、http://localhost/laravel/public/homeと入力すると、上記と同じページが表示されます。
今日初めてLaravelを触ったばかりですが、とても面白いPHPフレームワークだと思います。尚、Laravelはコレ1serverの管理人である川瀬氏が英語の公式サイトを日本語に翻訳して公開しています。ありがちな直訳では無く、きちんと意訳していますので、かなり分かり易いです。Laravelに興味のある方は下記のサイトを是非覗いてみて下さい。
又、川瀬氏による電子書籍も発売されています。内容は上記のサイトと同じですが、料金はかなり安く設定されていますので、興味のある方は是非購入して下さい。私も早速購入しました。
次回は、『Laravelのルーティング』について調べてみたいと思います。
本日は以上です。