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
0
350
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
3.6k
もう細かいレビューは したくない、されたくない
namizatork
1
1.4k
PHPの静的解析 ついでにLarastan
namizatork
1
560
Laravel8.xまでの大きな変更点を振り返る
namizatork
0
500
Livewireは魔法??コードリーディング してみた
namizatork
1
330
Laravelワカンネ(゚⊿゚)から「完全に理解した()」までステップアップ
namizatork
1
1.1k
Laravelの「Hello World」を 表示するまでの処理を追ってみた
namizatork
0
1.4k
SPA/PWA/AMPってなに?
namizatork
1
17k
Other Decks in Programming
See All in Programming
Deep Dive into ~/.claude/projects
hiragram
14
14k
効率的な開発手段として VRTを活用する
ishkawa
1
170
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
130
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
940
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
2
210
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
23
6.6k
CDK引数設計道場100本ノック
badmintoncryer
2
490
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
210
RailsGirls IZUMO スポンサーLT
16bitidol
0
200
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
190
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
4
430
レトロゲームから学ぶ通信技術の歴史
kimkim0106
0
110
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
It's Worth the Effort
3n
185
28k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
340
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Faster Mobile Websites
deanohume
308
31k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Gamification - CAS2011
davidbonilla
81
5.4k
Balancing Empowerment & Direction
lara
1
460
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Designing for Performance
lara
610
69k
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を使ってみよう!