今、最もイケてるPHPフレームワークLaravel4 
アシアル株式会社 
プロジェクトマネージャ&エンジニア 
坂本 龍介
自己紹介
アシアル株式会社 坂本龍介 
 エンジニア 
(プロジェクトマネージャー兼プログラマー) 
 プログラム遍歴 
 Perl → PHP → Flash → Silverlight → Java → Ruby → Javascript → PHP 
 趣味 
 料理
料理実績(お弁当と晩御飯と生ハム)
Laravel4とは
Laravel4とは 
 PHP フレームワーク 
 現在のバージョンはLaravel4.2 
 PHP5.4以上 
 内部でSymfonyコンポーネント使用 
 MI T ライセンス 
 GitHubにホスティング 
 今イケてるPHP フレームワーク 
Laravel
PHPフレームワークトレンド 
 PHP フレームワークの中ではGoogleTrends人気度では右肩上がり
PHPフレームワークトレンド 
 2014年8月でCode I gniterを上回りトップ
Top Ten Best PHP Frameworks For 2014 
 1位 Laravel 
 2位 Phalcon 
 3位 Symfony 
 4位 Code I gniter 
 5位 Yii 
 6位 Aura 
 7位 CakePHP 
 8位 Zend 
 9位 Flight 
 10位 Kohana 
WebHostingReviewBoards 調べ 
http://www.webhostingreviewboards.com/development/top-ten-best-php-frameworks-for-2014/
Laravel4が流行った理由
フレームワークとして洗練 
 Webアプリ開発で必要な機能が揃っている 
 MVC 
 Router 
 Authentication 
 Cache 
 Mail 
 Localization 
 Migration 
 Seeder 
 Plugin 
 Template 
 HTML Helper 
 Pagination 
 UnitTest 
 ........
安心感 
 公式ドキュメント充実 
 プラグインたくさん 
 新しいバージョン随時開発中 
 アップデートガイドでバージョンアップが比較的容易
使うとはかどる便利な機能 
 Eloquent ORM 
 DB Migration 
 DB Seeder
Eloquent ORM 
 とにかく読みやすくなるORM 
 I D => 1のユーザの名前を取り出すなら 
$user = User::find(1); 
$name = $user->name; 
 ユーザの友達の名前のリストを取り出すなら 
$friends = $user->has_many(‘friends' ); 
 Ardent使うとさらに便利
DB Migration 
 データベーススキーマバージョン管理 
$ php artisan migrate 
 ユーザテーブル作成 
Schema::create(' users' , function (Blueprint $table) { 
$table->increments(' id' ); 
$table->string(’name’); 
$table->timestamps(); 
} ); 
 誕生日カラム追加 
Schema::table(' users' , function($table) { 
$table->date(’birthday' )->after(‘name’); 
} ); 
 ロールバックも可能
DB Seeder 
 初期データ投入 
$ php artisan db:seed 
 テストアカウント追加 
User::create([ 
’name‘ => ‘坂本 龍介’ , 
’birthday' => ‘1980-07-25 12:34:56’ 
]); 
 Migrate + Seeder 
$ php artisan migrate --seed
注意点
注意点 
 Code Igniterと比べ遅い(諸説あり) 
 Phalconとは比べるまでもなく遅い 
 デバッグメッセージが読みづらい 
 複雑なテーブル構造&大量のレコード処理でORMを適当にガンガン使うと遅い
ベスト・プラクティス
APIサーバとしてLaravelを使う 
 Laravel4 + AngularJS 
HTMLは任せた! おうよ!!
スマホアプリのAPIサーバとして 
 Laravel4 + Onsen UI (AngularJS ) 
HTMLは任せたおうよ!!
なぜLaravel4 テンプレート機能を使わないのか? 
 Laravel4のBladeテンプレート機能とAngularJS はなじまない 
 BladeからAngularJSへデータを渡す方法がスマートではない 
<script> 
windows.data=<?php echo $data->toArray(); ?> 
</script> 
 BladeのviewsディレクトリとAngularJSのHTMLディレクトリを分けたい 
Blade    :/app/views/ 
AngularJS :/public/
アシアル導入事例
導入事例1 
 アシックス機能訓練特化型デイサービス 利用者管理システム開発 
 Laravel4 x AngularJS x Onsen UI
導入事例2 
 ニュース系WebAPI 
 複雑なデータベースから様々な例外処理を加え規定のXMLへ変換して返す。
導入事例3 
 銀行系WebAPI スタブ 
 ログイン・ログアウト・取引履歴を取り出すWebAPI。 
 スマホ開発の為にWebAPIの振る舞いをするスタブを3日程度で構築。
利用にあたって
マッチする案件 
 パフォーマンスをそれほど求められないもの 
 アクセス数の少ないサイト 
 社内システム 
 スタブ 
 仮で作っておきたいシステム
これからのLaravel
これからのLaravel 
 Laravel5 
 Laravel4.3ではなく 
 Laravel Homestead 
 Laravel環境をすぐ組み立てられるVagrantBox 
 Pull Request されたコードをメンテナーがレビューする時にも利用 
 Laravel Forge 
 Laravel環境がすぐに利用できるホスティングサービス
Laravel4 + HHVM 
 HHVM 
 Facebookが開発したPHPを高速に動作させるアプリケーション 
 Laravel4 + HHVMの構成が今後のスタンダードになる?
Laravel vs Phalcon 
 パフォーマンスはPhalconがはるかに有利 
 Phalconはまだバグがあったりつまずきが多い 
 将来的には Laravel < Phalcon かも
Laravel4 + PHP7 
 PHP7 
 2015年11月リリースか? 
 PHP7 vs HHVM 
 PHP7の性能改善によりHHVM並のパフォーマンスの噂も
今、最もイケてるPHPフレームワークLaravel4

今、最もイケてるPHPフレームワークLaravel4