Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Laravel 5.1 LTSでサービスを作る

Laravel 5.1 LTSでサービスを作る

Laravel 5.1 LTS の機能と比較をプレゼン資料としてひとまとめにしてみました。Laravel はいいぞ。

Infiniteloop

August 17, 2023
Tweet

More Decks by Infiniteloop

Other Decks in Programming

Transcript

  1. 目次 1. Laravelとは a. 概要と特徴 b. 他フレームワークと比較 c. 機能一覧 2.

    Laravelの機能 a. 主要機能紹介 b. コンポーネント紹介
  2. Laravel 概要 MIT ライセンス Laravel 1 は 2011/06 リリース ->

    Laravel 5 は 2015/02 リリース Laravel 5.1 が初の LTS(Long Term Support) Symfony フレームワークの機能を利用している メインデベロッパの Taylor Otwell 氏は元 .NET の中の人 「幸せな開発者が最高のコードを書く[1]」が基本哲学 [1]: Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代PHPフレームワーク - P 002
  3. フルスタックフレームワーク • Homestead • ルーティング • ミドルウェア • コントローラ •

    リクエスト/レスポンス • ビュー • テンプレートエンジン • サービスコンテナ • コントラクト • ファサード • 認可と認証 • コンソールコマンド • 購入手続き • キャッシュ • コレクション • ビルド自動化 • 暗号化 • エラー&ロギング • イベント • ファイルシステム • ハッシュ • ヘルパー • 国際化 • メール • ページネーション • キュー • セッション • テスト • バリデーション • クエリビルダ • マイグレーション • シーディング • ORM とにかく全方面をカバー!
  4. Controller / Request / Response この辺は普通すぎる処理しかないので割愛 よくあるMVCフレームワークのコントローラ • ヘッダ指定 •

    クッキー • リダイレクト • セッション • フラッシュメッセージ • JSON • ファイル
  5. ...

  6. 他コンポーネント 紹介 たくさんあるので大雑把に • Homestead : 全部入り開発用vagrant • Artisan :

    アーティサンじゃなくてアルティザン • Authentication : ログインは最初から実装済み • Authorization : これは良い、これはダメ • Cache : シンプル • Elixir : フロントエンド開発も安心 • Encryption : メソッドは2個だけ • Events : プッシュ通知もできちゃう • Filesystem : PHP関数はコワイから使わない で • Hashing : 安全な暗号化 • Helpers : どこでも便利に • Localization : 外国でもOK • Mail : テストもしやすい • Migration : シンプルなマイグレータ • Pagination : 全自動 • Queue : 後から処理出来るものは後から • Redis : 使いこなそう • Session : セッション • SSH Tasks : (これはまあなくても...) • Task Scheduling : cronjob 直書きはNG
  7. Homestead 開発用VM 必要なもの全部入りなvagrant • Ubuntu 14.04 • Git • PHP

    7.0 • Xdebug • HHVM • Nginx • MySQL / Mariadb • Sqlite3 • Postgres • Composer • Node (With PM2, Bower, Grunt, and Gulp) • Redis • Memcached (PHP 5.x Only) • Beanstalkd
  8. Authentication - 認証 • ユーザー登録 • ログイン • メールでパスワード再発行 •

    BASIC認証 • ソーシャル認証(Facebook, Twitter, LinkedIn, Google, Github, Bitbucker) が少しの実装で実現可能!
  9. ちょっと休憩 なんでも出来杉君だ これまでに見たコンポーネントおさらい • Homestead : 全部入り開発用vagrant • Artisan :

    アーティサンじゃなくてアルティザン • Authentication : ログインは最初から実装済み • Authorization : これは良い、これはダメ • Cache : シンプル • Elixir : フロントエンド開発も安心 • Encryption : メソッドは2個だけ • Events : プッシュ通知もできちゃう • Filesystem : PHP関数はコワイから使わないで • Hashing : 安全な暗号化
  10. Laravel は 富豪 のフレームワーク • 実装の楽さを重視している ◦ =実行速度は遅い • 必要そうなものは最初からほぼ揃っている

    ◦ キュー、メール、ファイル、暗号、テスト、バリデーション ... • 速度をあまり求められない場所で、素早くリリースしたい場合に最適! ◦ 逆に言うと、APIのようなアクセス頻度の高いものには使うべきではない • 学習コストは低めだが、プロジェクト内での規約設定が重要 ◦ Facade を使うのか、 helpers を使うのか、 Injection を使うのか、などの選択肢を決めておくこと
  11. 参考資料 • Phalcon • Slim • CodeIgniter • Lumen •

    Yii • Silex • FuelPHP • CakePHP • Symfony • Laravel • Zend Framework • PHP Laravelの勉強中で出て来た新しい用語のまとめ | urashita.com • LumenとLaravelの違い - ララ帳 • Laravel 5.1 Official Docs aa