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
PHPのオープンソースフレームワークLaravelについて
Search
Haruki Tazoe
September 19, 2020
Programming
0
81
PHPのオープンソースフレームワークLaravelについて
Haruki Tazoe
September 19, 2020
Tweet
Share
More Decks by Haruki Tazoe
See All by Haruki Tazoe
ドキュメント翻訳で学ぶ新しい言語仕様・機能
jdkfx
1
160
ゼミ内LT「Web API: The Good Parts」 を読みました - I read "Web API: The Good Parts".
jdkfx
0
49
フレームワークの内部構造を理解するためにフレームワークを作ってみることにした / phpcon-2021
jdkfx
2
1.1k
陽気なギャングが「行けたら行くぜ」って言ってたよ #23grads / Building a php framework
jdkfx
0
320
Svelte/Sapperで自作ブログをやってみる - Create a blog with Svelte/Sapper
jdkfx
0
170
hiro-it-35
jdkfx
0
640
フロントにおけるLaravel Laravel.hiroshima
jdkfx
0
200
Other Decks in Programming
See All in Programming
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
190
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
280
useSyncExternalStoreを使いまくる
ssssota
6
1.2k
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.7k
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
2
110
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
940
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
260
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
260
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
500
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
480
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
110
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Side Projects
sachag
452
42k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
The Invisible Side of Design
smashingmag
298
50k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Scaling GitHub
holman
458
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Transcript
PHPのオープンソース フレームワーク Laravelについて 2020/9/19 – OSC2020広島 学生LT 広島工業大学 情報学部 知的情報システム学科
田添春樹
自己紹介
• 田添春樹 • 広島工業大学 情報学部 知的情報システム学科 B2 • 趣味はプログラミング、バイク、読書、パズルなど •
Twitter、GitHubは@jdkfx
Laravelとは
• 2011/6にリリース • MVC( Model、View、Controller)のWEBアプリケーショ ン開発用PHPフレームワーク • MITライセンス • ソースコードはGitHubにてホスティング
• https://laravel.com/
• Taylor Otwell • マイクロソフトで.NETの開発に携わっていた • Taylorを中心にコミュニティで開発が続けられている
• 2020/9現在、 GitHubスター獲得数がバックエンド系言語の フレームワークの中で最も多い • 2020/9/8、ver.8がリリース Laravel Ruby on Rails
Django
特徴
• パッケージ管理システムのComposerの採用 • PHPの歴史のあるフレームワークであるSymfonyの コンポーネントを利用
• フルスタックWebアプリケーションフレームワーク • ルーティング • リエクスト処理 • ビュー • クエリビルダー
• ORM(オブジェクト関係マッピング) • DI(依存性の注入) • ユニットテスト、ブラウザテスト
• Artisanコマンド • コントローラやビューの雛形の作成 • データベーススキーマの作成 • オリジナルのArtisanコマンドの作成 • のちに詳しく解説
• これから示す内容はほんの一例に過ぎないこと • Laravelの機能などの中でも便利なものをピックアップして 紹介 • 触ってみて理解していただけると嬉しい
環境構築
• Homestead • パッケージをインストールしたLaravel公式のVagrant box • PHPやWebサーバ、その他のサーバソフトウェアをローカル マシンにインストールする必要がない • https://laravel.com/docs/8.x/homestead
Artisan
• Laravelに含まれているコマンドラインインタフェース • php artisan listにてコマンドを確認可能 • 多数のコマンドが導入されている • コマンドを自作することも可能
• モデルの作成 • php artisan make:model Hoge • コントローラの作成 •
php artisan make:controller HogeController • マイグレートの実行 • php artisan migrate
Eloquent ORM
• Eloquentとは • データベースとモデルを結びつける機能 • モデルやコントローラに記述
• クエリスコープメソッド • Eloquentなモデルクラスにscopeで始まるメソッドを 追加すると、絞り込み用の特殊なメソッドを定義できる • コードの短縮ができ、可読性が向上する
DI(依存性の注入)
• コンストラクタインジェクション • Laravel には、DIの仕組みが内蔵されていて、メソッドの引数 にインジェクトしたいオブジェクトを書くだけでDIが可能 • RESTfulなAPIを提供するコントローラの例
コントローラー内のすべてのメソッド からnewすることなくUserクラスの メソッドを呼び出すことが可能
コミュニティ
• PHP ユーザーズ(日本語) Slack ワークスペース • Laravel Meetup Tokyo •
Laravel.osaka • Laravel Meetup Okinawa • Laravel.shibuya • Laravel.tenjin • Laravel.hiroshima
• Laravel.hiroshima • 僕が主催するコミュニティ • 学業の兼ね合いとコロナの影響でイベントを休止中 • オンラインで開催を考えています • https://laravel-hiroshima.connpass.com/
この発表を通してLaravelに興味を持ってもらえると 嬉しいです
ご清聴ありがとうございました