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
62
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
43
フレームワークの内部構造を理解するためにフレームワークを作ってみることにした / phpcon-2021
jdkfx
2
1k
陽気なギャングが「行けたら行くぜ」って言ってたよ #23grads / Building a php framework
jdkfx
0
290
Svelte/Sapperで自作ブログをやってみる - Create a blog with Svelte/Sapper
jdkfx
0
140
hiro-it-35
jdkfx
0
600
フロントにおけるLaravel Laravel.hiroshima
jdkfx
0
180
Other Decks in Programming
See All in Programming
try! Swift Tokyo 初参加報告LT
hinakko2
0
200
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
100
try! Swift Tokyo 2024のLT枠に採択されたプロポーザルを出すときに考えていたこと
ski
0
340
Hanami and htmx
bkuhlmann
0
200
Ruby Pattern Matching
bkuhlmann
0
920
Java 22 Overview
kishida
1
170
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
39
18k
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
200
ゆるい個人開発のススメ
kuroppe1819
10
950
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
350
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
22
15k
スクラムチームと認知負荷 - ニフティのスクラムトーク Vol2. / NIFTY Tech Talk #18
niftycorp
PRO
1
120
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
77
41k
Raft: Consensus for Rubyists
vanstee
132
6.2k
How GitHub (no longer) Works
holman
304
140k
Writing Fast Ruby
sferik
620
60k
How STYLIGHT went responsive
nonsquared
92
4.8k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Product Roadmaps are Hard
iamctodd
43
9.7k
Optimizing for Happiness
mojombo
370
69k
The Cult of Friendly URLs
andyhume
74
5.7k
Building Your Own Lightsaber
phodgson
98
5.7k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
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に興味を持ってもらえると 嬉しいです
ご清聴ありがとうございました