「3年ぶりのPHP。最近のパッケージ管理ツールComposerに触れてみました。」でも書いたように、久しぶりにPHPを使おうと思っています。
そこで、最近のPHPのフレームワークのトレンドを調べたところ、CakePHPは相変わらず強いものの下火になりつつあり、Laravelというフレームワークがきているらしい、ということが分かりました。
【2015年版】PHPフレームワーク人気比較してみました!
Laravelとは?
Laravelとはどんなフレームワークなのか、というのを説明できるほど、まだ使い込んでいないのですが。
Laravel – ウェブ職人のためのPHPフレームワーク
軽く触ってみた感じは、MVCっぽくも書けるが、必ずしもMVCではなく、自由度の高いフレームワークの印象です。
CakePHPと違う雰囲気を感じたのは、下記でしょうか。
- ファサードという概念で、処理の呼び出しを簡素に書けるようになっている
- DIコンテナによって、コンポーネントの依存の解決が綺麗におこなえる
- Composerで管理されていて、フレームワークとライブラリの依存が整理されている
読んだ本
Laravelは、PHPフレームワークとして「キテいる」ってぽい雰囲気を感じるのですが、書籍などはほとんど出版されておらず、比較的に情報は少ないです。
Laravelエキスパート養成読本 [モダンな開発を実現するPHPフレームワーク!]
たぶんこの本がいま出版されている唯一のLaravelの本だと思います。
Laravelでプロジェクトを立ち上げてみる!
一通り本を呼んで、「結構よさそう!」という手応えを掴んだので、実際にLaravelを起動してみます。下記のチュートリアルを参考にしました。
インストール 5.0.0 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入門中。コントローラとビューを使ってみる。」