「3年ぶりのPHP。最近のパッケージ管理ツールComposerに触れてみました。」でも書いたように、久しぶりにPHPを使おうと思っています。
そこで、最近のPHPのフレームワークのトレンドを調べたところ、CakePHPは相変わらず強いものの下火になりつつあり、Laravelというフレームワークがきているらしい、ということが分かりました。
Laravelとは?
Laravelとはどんなフレームワークなのか、というのを説明できるほど、まだ使い込んでいないのですが。
軽く触ってみた感じは、MVCっぽくも書けるが、必ずしもMVCではなく、自由度の高いフレームワークの印象です。
CakePHPと違う雰囲気を感じたのは、下記でしょうか。
- ファサードという概念で、処理の呼び出しを簡素に書けるようになっている
- DIコンテナによって、コンポーネントの依存の解決が綺麗におこなえる
- Composerで管理されていて、フレームワークとライブラリの依存が整理されている
読んだ本
Laravelは、PHPフレームワークとして「キテいる」ってぽい雰囲気を感じるのですが、書籍などはほとんど出版されておらず、比較的に情報は少ないです。
Laravelエキスパート養成読本 [モダンな開発を実現するPHPフレームワーク!]
たぶんこの本がいま出版されている唯一のLaravelの本だと思います。
Laravelでプロジェクトを立ち上げてみる!
一通り本を呼んで、「結構よさそう!」という手応えを掴んだので、実際にLaravelを起動してみます。下記のチュートリアルを参考にしました。
まずComposerを使って、Laravelをインストールします。
composer global require "laravel/installer=~1.1" |
必須ではありませんが、 .bashrc などに下記のようにパスを通しておくと、楽です。
export PATH=$PATH:$HOME/.composer/vendor/bin |
laravelコマンドで、プロジェクトを作成します。
$ laravel new blog Crafting application... Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Nothing to install or update Generating autoload files > php -r "copy('.env.example', '.env');" > php artisan clear-compiled > php artisan optimize Generating optimized class loader > php artisan key:generate Application key [0tXnhzU8Gd6GiFBsIjJjudpxQRCdp2vj] set successfully. Application ready! Build something amazing. |
だらだらと流して完了!途中でセッション情報などの暗号化のためのキーの生成をおこなって環境設定ファイルに書き込んでくれています。
生成されたファイルはこんな感じです。
$ tree ./blog/ -L 1 ./blog/ ├── app ├── artisan ├── bootstrap ├── composer.json ├── composer.lock ├── config ├── database ├── gulpfile.js ├── package.json ├── phpspec.yml ├── phpunit.xml ├── public ├── readme.md ├── resources ├── server.php ├── storage ├── tests └── vendor 9 directories, 9 files |
Laravelの本体はvendor内に分離されてComposerで解決されているようなので、アプリケーションの開発側で触るファイルは意外と多くありません。
サーバを起動する
LaravelはビルトインWebサーバを起動できるようになっていて、XAMPPとかの設定をしなくてもすぐに試せます
起動は、artisan serveコマンドで行います。
$ php artisan serve Laravel development server started on http://localhost:8000/ |
localhostの8000ポートにアクセスしてみると、Laravelの画面が表示されました!
ここまで10分くらいです。簡単に取りかかれて良い感じです。
続きます→「Laravel入門中。コントローラとビューを使ってみる。」