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
Laravel Hands-on
Search
namizatork
September 14, 2019
Programming
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Laravel Hands-on
2019.09.14 Laravel Hands-on
namizatork
September 14, 2019
More Decks by namizatork
See All by namizatork
PHPのエラーを理解して適切なエラーハンドリングを学ぼう
namizatork
2
4.2k
もう細かいレビューは したくない、されたくない
namizatork
1
1.4k
PHPの静的解析 ついでにLarastan
namizatork
1
630
Laravel8.xまでの大きな変更点を振り返る
namizatork
0
580
Livewireは魔法??コードリーディング してみた
namizatork
1
400
Laravelワカンネ(゚⊿゚)から「完全に理解した()」までステップアップ
namizatork
1
1.2k
Laravelの「Hello World」を 表示するまでの処理を追ってみた
namizatork
0
1.4k
SPA/PWA/AMPってなに?
namizatork
1
17k
Other Decks in Programming
See All in Programming
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
330
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
500
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
140
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
590
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
200
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
3
1.5k
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
190
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
270
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
210
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
290
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
390
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
Featured
See All Featured
Side Projects
sachag
455
43k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
Six Lessons from altMBA
skipperchong
29
4.3k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Un-Boring Meetings
codingconduct
0
350
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
350
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
510
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Building Applications with DynamoDB
mza
96
7.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
Transcript
## 12:30 ~ 会場受付 # Schedule ## 12:45 ~ 資料
## 16:10 ~ 懇親会(任意) ## 13:20 ~ ハンズオン - ITプロパートナーズ会社紹介 (スポンサー様) - Laravel関連資料 - 環境構築 - Twitterっぽいサイトを作ってみよう Osaka
Osaka Laravelで始めるPHPフレームワーク スポンサー Laravel Hands-On
## 簡単なプロフィール # Agenda ## そもそもPHPってなに? ## Laravelの魅⼒ ## Laravelを使ってみよう
## そもそもフレームワークってなに? ## Laravelってなに?
# Profile Age : 25 Like : Laravel Vue.js Hobby
: Baske Tatsuya Namizato @namizatop 毎週⽔曜⽇ #⽔曜⽇のもくもく会 主催
# What is PHP? ## PHPとは PHPとはWebサーバの機能を拡張し、動的にWebページを⽣成するために⽤いれられ るプログラミング⾔語、いわゆるスクリプト⾔語あるいは軽量⾔語のこと。 Rasmus Lerdorfにより1995年にPersonal
Home Page Toolsという名前でOSS化、 その後バージョン3で⼤きく仕様変更がなされ、Hypertext Preprocessorという名前 に変わりオブジェクト指向を取り⼊れた⾔語に成⻑した。 現在のバージョン7では1つ前の5と⽐べて実⾏速度が2倍にもなった。
## WEBアプリケーションに特化したサーバサイド⾔語 # What is PHP? - 同じサーバーサイド⾔語のJavaやGoといった型の制約が強い静的⾔語ではなく、 型の制約が緩い動的⾔語と呼ばれるもの、記述量が⼤幅に減らせるなどがあげられる ##
インタープリタ型 ## 動的⾔語 - C++やJavaとは違い1⾏ずつ機械語に翻訳するので動作確認がスムーズになる ## オブジェクト指向に対応 - クラス作成、インスタンスの⽣成継承、ポリモーフィズム、カプセル化等が使⽤できる
# Comparison with Java ## 静的⾔語のJavaと動的⾔語のPHPを⽐較 プログラム実⾏前 使⽤分野 レンタルサーバー 規模
PHP コンパイルが不要 Web 使える ⼩規模案件向き Java コンパイルが必要 Web/スマホ/組込 etc 使えない場合がある ⼤規模案件向き
# Java Code ## Javaのコードで配列にキーと値を指定して格納する場合 Java
# PHP Code PHP ## PHPのコードで配列にキーと値を指定して格納する場合
# Static and Dynamic ## 静的⾔語と動的⾔語を⽐較 処理速度 開発スピード バグ 記述量
動的⾔語 遅い 速い 起こりやすい 少ない 静的⾔語 速い 遅い 起こりにくい 多い
# What is Frame Work? ## フレームワークとは フレームワークとは、システム構築に必須な標準的かつ低レベルの詳細を設計者やプ ログラマが検討する時間を省き、要求仕様の実現に多くの時間を割けるようにし、ソ フトウェア開発を容易にすること⽬的にしている機能群のこと。
フレームワークの最⼤のメリットは、⽬的のアプリケーションをゼロから開発する必 要がないので、開発⼯程を⼤幅に短縮できることにある。に加え、そのコードを覚
# What is Frame Work? ## 活発なフレームワークであれば脆弱性もすぐに修正対応される ## ⼀つの⾔語だけでも数種類のフレームワークが存在する ##
汎⽤的な機能群 - システム開発を効率化出来る機能群のこと。ソフトウェアの⾻組みを提供してくれるので, 開発者は⽐較的少ない記述量でシステム開発を⾏うことが出来る。 ## フレームワーク毎の規則(ルール)が存在する - 構造や書き⽅などフレームワークにより⼀定のルールが存在するため、 他の開発者が⾒た時に分かりやすく記述することが出来る。
# What is Laravel? ## PHPフレームワークのLaravelとは LaravelはMVCアーキテクチャで構成されたPHPフレームワークである。 Taylor Otwellという⼈物により2011年6⽉にバージョン1が開発された。 2019年現在GitHubのスター数が同じバックエンド系⾔語のフレームワークの中で
⼀番多いなど⼈気のフレームワークの⼀つになっている。 つい最近バージョン6がリリースされ、さらに盛り上がりを⾒せている。
## SQLを意識せずに直感的に書けるEloquent # The glamour of Laravel ## 柔軟なオートローダー ##
強⼒なルーティングフィルター ## Collectionクラス ## artisanコマンド ## DI(依存性の注⼊)
# Laravel MVC ## LaravelのMVCアーキテクチャ Controller View Model リクエスト ビジネスロジック呼び出し
結果をControllerに返す Controllerを介して取得した値を渡す ユーザインターフェイスとして表⽰
# Laravel routing ## Laravelのルーティングの仕組み index.php リクエスト routes/web.php http://test/welcome =
welcome ビューを紐づける welcome.blade.php Viewファイル エントリポイント 読み込み レスポンス
# Laravel autoload ## Laravelのオートロードとは PHPでは別のファイルを読み込む際に読み込むファイル毎に require で呼び出す必要 があります。 Laravelではオートロードの仕組みを利⽤することで
vendor/autoload.php を 呼び出すだけで他のファイルの require が不要になります。 ※ 先ほど学んだルーティングで出てきたindex.phpで このautoloadの処理を呼び出しています。
# Laravel Eloquent ORM ## LaravelのEloquent ORMとは Eloqunet ORM (Object
Relational Mapping) Eloquentとはアクティブレコードによるデータ操作のための機能のこと。 それぞれのデータベーステーブルは関連するモデルと紐づいており、 SQL⽂を記述することなく、柔軟なテーブルのデータ操作が可能になります。 次ページで例題
# Laravel Eloquent sample ## LaravelのEloquentを使って通常のPHPと⽐べてみる PHP
# Laravel Eloquent sample ## LaravelのEloquentを使って通常のPHPと⽐べてみる Laravel
# Laravel artisan command ## Laravelのartisanコマンド Laravelで予め定義されたアプリケーション開発に役⽴つコマンドのこと。 各ファイルの作成やログイン認証を実装したい時などにコマンドライン上で使⽤する。 PHPの他のフレームワークにも似た様な機能は存在するが、 Laravelでは70種類以上のartisanコマンドが⽤意されている。
php artisan make:controller TestsController 例
# Laravel Collection ## LaravelのCollectionとは LaravelのCollectionとは配列のラッパーのこと。 PHPの配列を操作しやすくした様々なメソッドが⽤意されているため⼿間を軽減する だけでなくコード量も減りスッキリしたコードになる。 次ページで例題
# Laravel Collection sample ## LaravelのCollectionを使ってPHPと同じ結果になる記述を書いてみる PHP Laravel
# Laravel DI ## LaravelのDI(依存性の注⼊)とは システム開発を⾏っているとクラスのインスタンス同⼠が様々に影響しあうようにな ります。 この依存性を極⼒減らし、アプリケーションの変更や拡張に柔軟に対応できる様、 実⾏時に外部から渡すことでコンポーネント間の依存性を下げるテクニックです。 Laravelではこのテクニックを簡単に扱うことができます。
Let’s try Laravel Laravelを使ってみよう!