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

Laravel 8 注目機能紹介!

MasaKu
November 25, 2020

Laravel 8 注目機能紹介!

【増枠】LaravelのLT会 - vol.1 #laravellt
https://rakus.connpass.com/event/193294/

MasaKu

November 25, 2020
Tweet

More Decks by MasaKu

Other Decks in Technology

Transcript

  1. 自己紹介
 • 久山 勝生(くやま まさき)
 ◦ 株式会社ラクス
 ◦ 配配メール/クルメルの運用保守
 ◦

    PHPer
 
 • 好きなもの
 ◦ ハイボール
 ◦ ソース味の食べ物
 #laravellt @MasaKu_e
  2. Laravel 8
 Models Directory Model Factory Classes Migration Squashing Job

    Batching Improved Rate Limiting Improved Maintenance Mode Pre-Rendering The Maintenance Mode View Closure Dispatch / Chain Dynamic Blade Components Event Listener Improvements Time Testing Helpers Artisan serve Improvements Routing Namespace Updates https://laravel.com/docs/8.x/releases Laravel Jetstream Tailwind Pagination Views #laravellt
  3. Laravel 8
 Laravel Jetstream Models Directory Model Factory Classes Migration

    Squashing Job Batching Improved Rate Limiting Improved Maintenance Mode Pre-Rendering The Maintenance Mode View Closure Dispatch / Chain Dynamic Blade Components Event Listener Improvements Time Testing Helpers Artisan serve Improvements Tailwind Pagination Views Routing Namespace Updates https://laravel.com/docs/8.x/releases #laravellt
  4. Laravel Jetstream
 • 一番の目玉機能
 ◦ make:auth などで実現できていた認証機能の強化
 ▪ メール認証 /

    二要素認証など
 ◦ フロントエンドスタックを刷新
 ▪ Livewire / Inertia.js
 
 • フロントエンド開発の経験が少なくてもモダンなUI開発が可能
 #laravellt
  5. Inertia.js ちょっとだけ紹介
 <?php namespace App\Http\Controllers ; class UserController extends Controller

    { public function index() { return Inertia::render('user/index', ['users' => User::all()]); } } 
 app/Http/Controllers/UserController.php #laravellt
  6. Inertia.js ちょっとだけ紹介
 <template> <h1>ユーザ一覧</h1> <ul> <li v-for="user in users" :key="user.id">{{

    user.name }}</li> </ul> </template> <script> export default { props:{ users: { type: Array, } } } </script> resources/js/Pages/user/index.vue 使わない
 使う
 #laravellt
  7. Tailwind Pagination Views
 • デフォルトのCSSがTailwindに変更
 ◦ Bootstrap3, 4 も引き続き利用可能
 


    • Tailwind の特徴
 ◦ カスタマイズ性に富んだ低レベルのCSSフレームワーク
 ◦ デフォルトのコンポーネントが存在せず、utility classを利用してオリジナルのコ ンポーテントを定義していく
 ▪ いわゆる「〇〇っぽさ」が出にくい
 #laravellt
  8. Tailwind ちょっとだけ紹介
 <button type="button” class="btn btn-primary"> Button Text </button> 


    <button class="f6 br3 ph3 pv2 white bg-purple hover-bg-light-purple"> Button Text </button> 
 Bootstorap Tailwind #laravellt
  9. Migration Squashing
 • マイグレーションファイルをまとめる機能
 ◦ スキーマ構築の時間を短縮
 ▪ テスト時などに便利
 
 •

    処理の流れ
 ◦ php artisan schema:dump を実行
 ◦ マイグレーションファイルから dumpファイルを生成
 ◦ php artisan migrate を実行すると dumpファイルから restore
 ※Laravelの実行環境をDockerコンテナ上に作成している場合
  同じコンテナ内にDBが入っていないとdumpが実行できない
 #laravellt
  10. まとめ
 • 14個の 新機能/仕様変更 がリリース
 ◦ Laravel Jetstream
 ◦ Tailwind

    Pagination Views
 ◦ Migration Squashing
 
 • LTSではないため移行しづらいが便利機能が多い
 ◦ サンプルを参考に機能を確認しておくことが重要?
 
 #laravellt
  11. 参考サイト
 [1] Laravel 8 Release Notes 
 https://laravel.com/docs/8.x/releases 
 [2]

    PHPerによるPHPerのための「Laravel8を中心に語り合う」TechCafe/Show note 
 https://hackmd.io/@S051_ovFTzmLW3plu6ehiw/BkiwDx9IP 
 [3] Laravel Jetstream
 https://jetstream.laravel.com/1.x/introduction.html 
 [4] Laravel Jetstream入門 Inertia.js編 
 https://reffect.co.jp/laravel/laravel-jetstream-inertia-js 
 [5] 初めてでもわかるTailwindcss入門(1)基礎編 
 https://reffect.co.jp/html/tailwindcss-for-beginners 
 [6] CSS Utility Classes and "Separation of Concerns" 
 https://adamwathan.me/css-utility-classes-and-separation-of-concerns/ 
 #laravellt