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
330
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.5k
もう細かいレビューは したくない、されたくない
namizatork
1
1.3k
PHPの静的解析 ついでにLarastan
namizatork
1
520
Laravel8.xまでの大きな変更点を振り返る
namizatork
0
490
Livewireは魔法??コードリーディング してみた
namizatork
1
310
Laravelワカンネ(゚⊿゚)から「完全に理解した()」までステップアップ
namizatork
1
1k
Laravelの「Hello World」を 表示するまでの処理を追ってみた
namizatork
0
1.3k
SPA/PWA/AMPってなに?
namizatork
1
17k
Other Decks in Programming
See All in Programming
PHPでお金を扱う時、終わりのない 謎の1円調査の旅にでなくて済む方法
nakka
3
1.3k
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
510
JavaOne 2025: Advancing Java Profiling
jbachorik
1
320
生成AIの使いどころ
kanayannet
0
100
PHPのガベージコレクションを深掘りしよう
rinchoku
0
240
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
170
生産性アップのためのAI個人活用
kunoyasu
0
650
ベクトル検索システムの気持ち
monochromegane
30
9k
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
8
6.8k
ミリしらMCP勉強会
watany
3
430
WordPress Playground for Developers
iambherulal
0
120
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
600
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
70
10k
Documentation Writing (for coders)
carmenintech
69
4.7k
Six Lessons from altMBA
skipperchong
27
3.7k
Why Our Code Smells
bkeepers
PRO
336
57k
Git: the NoSQL Database
bkeepers
PRO
429
65k
Navigating Team Friction
lara
184
15k
Visualization
eitanlees
146
16k
Adopting Sorbet at Scale
ufuk
75
9.3k
How to train your dragon (web standard)
notwaldorf
91
5.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
GraphQLとの向き合い方2022年版
quramy
45
14k
Docker and Python
trallard
44
3.3k
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を使ってみよう!