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
150
ゼミ内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
クリエイティブコーディングとRuby学習 / Creative Coding and Learning Ruby
chobishiba
0
3.9k
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
190
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
2
770
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
730
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
540
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
720
선언형 UI에서의 상태관리
l2hyunwoo
0
160
命名をリントする
chiroruxx
1
390
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
120
42 best practices for Symfony, a decade later
tucksaun
1
180
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
Recoilを剥がしている話
kirik
5
6.6k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
181
21k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Producing Creativity
orderedlist
PRO
341
39k
RailsConf 2023
tenderlove
29
940
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Documentation Writing (for coders)
carmenintech
66
4.5k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
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に興味を持ってもらえると 嬉しいです
ご清聴ありがとうございました