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
78
PHPのオープンソースフレームワークLaravelについて
Haruki Tazoe
September 19, 2020
Tweet
Share
More Decks by Haruki Tazoe
See All by Haruki Tazoe
ゼミ内LT「Web API: The Good Parts」 を読みました - I read "Web API: The Good Parts".
jdkfx
0
47
フレームワークの内部構造を理解するためにフレームワークを作ってみることにした / 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
190
Other Decks in Programming
See All in Programming
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
Outline View in SwiftUI
1024jp
1
330
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
距離関数を極める! / SESSIONS 2024
gam0022
0
280
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
Remix on Hono on Cloudflare Workers
yusukebe
1
290
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
ヤプリ新卒SREの オンボーディング
masaki12
0
130
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
136
6.6k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Practical Orchestrator
shlominoach
186
10k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Speed Design
sergeychernyshev
24
610
Into the Great Unknown - MozCon
thekraken
32
1.5k
A Philosophy of Restraint
colly
203
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Writing Fast Ruby
sferik
627
61k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
860
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に興味を持ってもらえると 嬉しいです
ご清聴ありがとうございました