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
0
370
Laravel Hands-on
2019.09.14 Laravel Hands-on
namizatork
September 14, 2019
Tweet
Share
More Decks by namizatork
See All by namizatork
PHPのエラーを理解して適切なエラーハンドリングを学ぼう
namizatork
2
4k
もう細かいレビューは したくない、されたくない
namizatork
1
1.4k
PHPの静的解析 ついでにLarastan
namizatork
1
610
Laravel8.xまでの大きな変更点を振り返る
namizatork
0
550
Livewireは魔法??コードリーディング してみた
namizatork
1
370
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
CSC307 Lecture 05
javiergs
PRO
0
510
CSC307 Lecture 11
javiergs
PRO
0
580
AIプロダクト時代のQAエンジニアに求められること
imtnd
1
430
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
180
2025年の活動の振り返り
hideg
0
110
CSC307 Lecture 06
javiergs
PRO
0
700
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
330
浮動小数の比較について
kishikawakatsumi
0
300
AI & Enginnering
codelynx
0
140
atmaCup #23でAIコーディングを活用した話
ml_bear
3
580
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
250
kintone + ローカルLLM = ?
akit37
0
110
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Designing for humans not robots
tammielis
254
26k
Accessibility Awareness
sabderemane
0
64
The untapped power of vector embeddings
frankvandijk
2
1.6k
Abbi's Birthday
coloredviolet
1
4.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
360
First, design no harm
axbom
PRO
2
1.1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
59
50k
Odyssey Design
rkendrick25
PRO
1
510
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を使ってみよう!