O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

11.620 visualizações

Publicada em

2014年12月9日のヒカラボでの講演資料です。

Publicada em: Tecnologia
  • Seja o primeiro a comentar

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

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

×