Laravel 5 はこう変わる! ディレクトリ構造編
注意!
このエントリは 2014/09/30 時点の情報です。これからどんどん変わっていく可能性があるので鵜呑みはダメ、絶対。
はじめに
Laravel 5 は現在絶賛開発中で現行の 4.2.9 と比較するとかなり大きく変更されます。11月にリリース予定ですが、その前に先取りして主な変更点を何回かにわけてブログに書き残しておこうと思います。
一応 PHP カンファレンスが始まる前には書き終わりたいと思っていますが、我慢できない人は What's New in Laravel 5.0 のスクリーンキャストを見るとよくわかります。
Laravel5 のインストール
Composer でインストールできます。
composer create-project laravel/laravel forder-name dev-develop
ディレクトリ構造
かなり変わりました。軽く解説していきます。tree 構造はこちら。
root. ├── app │ ├── Console │ ├── Http │ │ ├── Controllers │ │ ├── Filters │ │ └── Requests │ └── Providers ├── bootstrap ├── config │ ├── local │ ├── packages │ └── testing ├── database │ ├── migrations │ └── seeds ├── public │ └── packages ├── resources │ ├── lang │ │ └── en │ └── views │ └── emails │ └── auth ├── storage │ ├── cache │ ├── logs │ ├── meta │ ├── sessions │ ├── views │ └── work ├── tests └── vendor
Laravel4 との対比はこんな感じ。
Laravel4 | Laravel5 |
---|---|
app/commands | app/Console |
app/config | config |
app/controllers | app/Http/Controllers |
app/database | database |
app/lang | resources/lang |
app/models | app |
app/start | ない |
app/storage | storage |
app/tests | tests |
app/views | resources/virews |
app/filters.php | 廃止(app/Providers/FilterServiceProviderに定義) |
app/routes.php | app/Http/routes.php |
bootstrap | bootstrap |
public | public |
大きな変更点として app
周りがガラッと変わっています。これ、ディレクトリ構造だけではなくて Laravel4 では 自作するController/Model/Command
は名前空間の修飾を必要としませんでしたが*1 Laravel5 からは名前空間は必須となります。手数が増えるかわりに自由度が上がった感じでしょうか。個人的には歓迎しています。
個人的には Model
が app
の下にあるのがもにょりますが、自由に変更できるので、まぁいいかと。