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
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
Quine, Polyglot, 良いコード
qnighy
4
650
Functional Event Sourcing using Sekiban
tomohisa
0
100
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
Click-free releases & the making of a CLI app
oheyadam
2
120
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
200
CSC509 Lecture 11
javiergs
PRO
0
180
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
300
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
900
Arm移行タイムアタック
qnighy
0
340
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Building a Scalable Design System with Sketch
lauravandoore
459
33k
A Tale of Four Properties
chriscoyier
156
23k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
How to train your dragon (web standard)
notwaldorf
88
5.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
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に興味を持ってもらえると 嬉しいです
ご清聴ありがとうございました