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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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.1k
もう細かいレビューは したくない、されたくない
namizatork
1
1.4k
PHPの静的解析 ついでにLarastan
namizatork
1
630
Laravel8.xまでの大きな変更点を振り返る
namizatork
0
570
Livewireは魔法??コードリーディング してみた
namizatork
1
390
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
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
270
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
5.4k
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
ふつうのFeature Flag実践入門
irof
7
4k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
410
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
700
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
AI 輔助遺留系統現代化的經驗分享
jame2408
1
250
スマートグラスで並列バイブコーディング
hyshu
0
150
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
710
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
OSもどきOS
arkw
0
570
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
The agentic SEO stack - context over prompts
schlessera
0
820
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
330
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
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を使ってみよう!