Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Laravel8.xまでの大きな変更点を振り返る
Search
namizatork
May 29, 2021
Programming
0
500
Laravel8.xまでの大きな変更点を振り返る
namizatork
May 29, 2021
Tweet
Share
More Decks by namizatork
See All by namizatork
PHPのエラーを理解して適切なエラーハンドリングを学ぼう
namizatork
2
3.6k
もう細かいレビューは したくない、されたくない
namizatork
1
1.4k
PHPの静的解析 ついでにLarastan
namizatork
1
540
Livewireは魔法??コードリーディング してみた
namizatork
1
320
Laravelワカンネ(゚⊿゚)から「完全に理解した()」までステップアップ
namizatork
1
1.1k
Laravelの「Hello World」を 表示するまでの処理を追ってみた
namizatork
0
1.3k
Laravel Hands-on
namizatork
0
340
SPA/PWA/AMPってなに?
namizatork
1
17k
Other Decks in Programming
See All in Programming
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
7
380
Interface vs Types ~型推論が過多推論~
hirokiomote
1
230
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
570
インターフェース設計のコツとツボ
togishima
2
490
抽象データ型について学んだ
ryounasso
0
210
Parallel::Pipesの紹介
skaji
2
870
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
670
バランスを見極めよう!実装の意味を明示するための型定義 TSKaigi 2025 Day2 (5/24)
whatasoda
2
780
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
260
Language Server と喋ろう – TSKaigi 2025
pizzacat83
2
670
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.4k
iOSアプリ開発もLLMで自動運転する
hiragram
6
2.2k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building Adaptive Systems
keathley
41
2.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Optimizing for Happiness
mojombo
378
70k
How to train your dragon (web standard)
notwaldorf
92
6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
1
80
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
890
Transcript
www.bengo4.com Laravel8.xまでの 大きな変更点を振り返る 2021.05.29 namizato
はじめに 2
Bengo4.com, Inc. 3 「大きな変更点」とタイトルを付けていますが、主語がデカすぎました() パフォーマンスの向上とかよりも個人的に気になった変更点や、 実装している上でこれは便利になったなーと感じた追加機能などについてお話しします。 ノリでタイトル決めるのだめ絶対
4 4 並里 辰也(ナミザト タツヤ) 自己紹介 沖縄PHPカンファレンス2021 実行委員(広報) 弁護士ドットコム株式会社 在籍そろそろ1年
Laravelが好きでたまにQiitaに投稿してます @namizatork
Bengo4.com, Inc. 弁護士ドットコム というサービス • 一般市民と弁護士を結びつ け、お悩み解決を目指す • 2005年サービス開始 •
約900万セッション/ 月 • 約300件の法律相談/ 日 5
Bengo4.com, Inc. 目次 • Laravelが人気の訳 • セマンティック・バージョニング • PHP6.xでの追加・変更点 •
PHP7.xでの追加・変更点 • PHP8.xでの追加・変更点 6
Laravelが人気な訳 7 今更感がありますが、あえて説明しておきます
Bengo4.com, Inc. Laravelが人気の訳 • 日本語含めてドキュメントが豊富 • MVCが標準サポートされているので、開発者によって実装が左右されにくい • XSS/CSRF/SQLインジェクションなどのセキュリティ対応がされている •
柔軟な設計が可能( DDD/クリーンアーキテクチャなど簡単に導入ができる) • ORM(Eloquent)が標準サポートされているので、柔軟なデータ操作が可能 • PHPのコードでDBを管理できるマイグレーションに標準対応 • クラスの依存関係を管理するサービスコンテナ • クラスインスタンス化せずとも staticメソッドの様に呼び出すことができる Facade • Controllerの前後にフィルタリングを設定できるミドルウェア • etc.. 8
セマンティック・ バージョニング 9
Bengo4.com, Inc. セマンティック・バージョニング 2021年5月現在最新の LTS は Laravel6.x(2021年9月に次のLTS最新9.xリリース予定) このリリースを機に Laravel では
セマンティック・バージョニング が採用されました。 これまでの Laravel(5.x) では 5.1 > 5.2 > 5.3 と上がっていたのに対して、 6 > 7 > 8 の様にアップデートされる様になりました。 つまり 6.x は実質 5.9(5.xの最新が5.8のため) の様な扱い 10
Laravel6.xの 追加・変更点 11
Bengo4.com, Inc. 文字列と配列のヘルパの 変更 str_ と array_ ヘルパが使用できな く なりました(別パッケージへ移行され
ました) Laravel5.8からアップグレードした時 にこの辺りで引っかかることが多々あ りました。 12 これまで 6.x
Bengo4.com, Inc. 認証機能のUIが分離された laravel6.xから認証機能が laravel/ui という別パッケージで管 理される様になりました。 これによって5.xまでは標準で組み込 まれていたBootstrapとVueがデ フォルトから外され、スカフォールドを
任意のFWから選ぶことができる様に なりました。 13 これまで 6.x
Bengo4.com, Inc. Laravel6.xその他追加・変更点 • Lazy Collection • ジョブミドルウェア • Eloquentサブクエリの向上
• 認可レスポンスの向上 • etc... 14
Laravel7.xの 追加・変更点 15
Bengo4.com, Inc. Guzzleをラップした HTTP Client これまでは GuzzleHttpClient を 使用する必要がありましたが、 Laravel7.x
から Guzzle をラップした HTTP Client が標準で搭載される 様になりました。 これにより、Guzzleの長いコードを書 かなくて済むようになりました。 16 これまで 7.x
Bengo4.com, Inc. Sanctumの導入 SPAに対しての認証機能を容易に提 供してくれるLaravelのパッケージで す。(元々は AirLock という名前だっ た) Token
を利用した API Tokens と Cookie を利用したSPA Authentication の2つの機能があ ります 17
Bengo4.com, Inc. ViewComponentの導入 Blade のコンポーネントクラスやタグ が利用できるようになりました。 Blade(ビュー)とロジックの責務が分 けれる様になり、さらにコンポーネント 化により共通化もできる様になった。 18
Bengo4.com, Inc. Laravel7.xその他追加・変更点 • ルートキャッシュスピードの向上 • カスタムEloquentキャスト • ルートモデル結合の向上 •
etc... 19
Laravel8.xの 追加・変更点 20
Bengo4.com, Inc. マイグレーションの圧縮 プロジェクトが大規模になるにつれて 増えていくマイグレーションファイルを 圧縮することができます。 やり方は簡単で右のコマンドを入力 するだけで database/schema に
書き込まれます。 21 既存のマイグレーションを削除する option
Bengo4.com, Inc. Jetstreamの導入 ログイン、ユーザー登録、メール認 証、二要素認証、セッション管理、 Laravel SanctumによるのAPIサ ポート、およびオプションのチーム管 理が用意されている。 Tailwind
CSSを使用していて、 Livewire か Inertia のどちらかのス カフォールドを選択できます。 22
Bengo4.com, Inc. Livewireの導入 Bladeを利用していればJavaScript を書かずにPHPだけでSPAを実装で きる様にしたパッケージ 開発者曰く、Laravelを知っている人 なら誰でも書けるので学習コストが低 いらしい() 23
Bengo4.com, Inc. Laravel8.xその他追加・変更点 • モデルファクトリクラス • Modelsディレクトリをデフォルト化 • ジョブバッチ •
レート制限の向上 • イベントリスナの向上 • タイムトラベル(時間操作テスター) • etc... 24
ご清聴ありがとう ございました。 25