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 を学ぶ前に書いていた require と Laravel 使い始めてから躓いた use 宣言と namespace
Search
uutan1108
March 08, 2024
Programming
1
400
Laravel を学ぶ前に書いていた require と Laravel 使い始めてから躓いた use 宣言と namespace
PHPerKaigi 2024
https://fortee.jp/phperkaigi-2024/proposal/bbbfddbf-956e-4767-bab8-f16d8c009c0d
uutan1108
March 08, 2024
Tweet
Share
More Decks by uutan1108
See All by uutan1108
企業主催勉強会をきっかけに職能間の境界を越える ロングver
ohmori_yusuke
1
230
企業主催勉強会をきっかけに職能間の境界を越える
ohmori_yusuke
1
100
OpenAPIに静的解析とフォーマッターを導入する
ohmori_yusuke
3
260
Next.jsのClient-side RenderingでPHPを動かす
ohmori_yusuke
1
210
プログラミング&実行できるWEBアプリを手作り
ohmori_yusuke
3
460
社外向け勉強会とプライベートの勉強会を開催してみて
ohmori_yusuke
2
310
勉強会に楽しさワクワクは重要
ohmori_yusuke
2
420
OpenAPI を守るのは難しい
ohmori_yusuke
2
1.2k
コミュニティに参加したことで起きた変化
ohmori_yusuke
3
180
Other Decks in Programming
See All in Programming
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
実用的かつリーズナブルな 「Azure × Gemini × LINE」~キャラクターBot 実装ライブデモ~
tomodo_ysys
1
170
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
7
3k
小さな開発会社を作った理由
polidog
0
1.9k
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
120
Google's Recipe for Scaling (Web) Security – LocoMocoSec 2024
lweichselbaum
0
170
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Berlin
prof18
0
110
Featured
See All Featured
Six Lessons from altMBA
skipperchong
24
3.2k
The Invisible Side of Design
smashingmag
294
50k
Building Applications with DynamoDB
mza
89
5.8k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
Designing with Data
zakiwarfel
96
5k
A Tale of Four Properties
chriscoyier
155
22k
What's in a price? How to price your products and services
michaelherold
239
11k
Practical Orchestrator
shlominoach
185
10k
StorybookのUI Testing Handbookを読んだ
zakiyama
15
4.9k
The Cult of Friendly URLs
andyhume
75
5.9k
Building an army of robots
kneath
301
42k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Transcript
PHPerKaigi 2024
自己紹介 • うーたん • 新卒サーバーサイドエンジニア ◦ 株式会社ゆめみ • 趣味 ◦
アニメを見ること • X ◦ @uutan1108 2 月刊I/O 3月号、4月号に 「プログラミング& 実行できるWEBアプリを手作り」 掲載されたので読んでね
PHPerKaigi 2024
PHPerKaigi 2024
PHPerKaigi 2024
PHPerKaigi 2024 2つは 全く違う話
require と use の違いに気づいたきっかけ 7
ノンフレームワークのPHPでブログを作り、リプレースした 新 旧 8
Laravel を学ぶ前に書いていた require 旧 9
Laravel を学ぶ前に書いていた require 旧 10
Laravel を学ぶ前に書いていた require と 旧 11
Laravel を学ぶ前に書いていた require と Laravel 使い始めてから躓いた use 宣言 新 12
Laravel を学ぶ前に書いていた require と Laravel 使い始めてから躓いた use 宣言 新 旧
13
Laravel を学ぶ前に書いていた require と Laravel 使い始めてから躓いた use 宣言 新 旧
14 悪戦苦闘
Laravel を学ぶ前 15
一応、別ファイルに切り出しておく Laravelを知らない👶 16
一応、別ファイルに切り出しておく Laravelを知らない👶 👶「外部ファイルに関数、変数を切り出して...」 17
一応、別ファイルに切り出しておく Laravelを知らない👶 👶「外部ファイルに関数、変数を切り出して...」 👶「関数、変数を使う時は、require 関数で呼べば 良さそう」 18
一応、別ファイルに切り出しておく Laravelを知らない👶 👶「外部ファイルに関数、変数を切り出して...」 👶「関数、変数を使う時は、require 関数で呼べば 良さそう」 👶「やべ、名前被った。変更しよ。」 19
一応、別ファイルに切り出しておく Laravelを知らない👶 👶「外部ファイルに関数、変数を切り出して...」 👶「関数、変数を使う時は、require で呼べば 良さそう」 👶「やべ、名前被った。変更しよ。」 👶「違うところでエラーだ...」 20
Laravel をなんとなく学んでいる時 21
namespace, use 綺麗だな~ Laravel勉強中👦 22
namespace, use 綺麗だな~ Laravel勉強中👦 👦「namespace はディレクトリの階層みたいに書いてお け ば良さげ」 23
namespace, use 綺麗だな~ Laravel勉強中👦 👦「namespace はディレクトリの階層みたいに書いてお け ば良さげ」 👦「use は呼び出したいファイルのパスを書けば良さげ」 24
namespace, use 綺麗だな~ Laravel勉強中👦 👦「namespace はディレクトリの階層みたいに書いてお け ば良さげ」 👦「use は呼び出したいファイルのパスを書けば良さげ」 👦「require
と同じ雰囲気で use を書けばいいのか~」 25
namespace, use 綺麗だな~ Laravel勉強中👦 👦「namespace はディレクトリの階層みたいに書いてお け ば良さげ」 👦「use は呼び出したいファイルのパスを書けば良さげ」 👦「require
と同じ雰囲気で use を書けばいいのか~」 👦「先頭大文字」 26
Laravel を学んでブログサイトを改修中 27
ブログサイトを改修中 ブログサイトを改修中🧑 🧑「use って書いても読み込まれない...」 28
ブログサイトを改修中 ブログサイトを改修中🧑 🧑「use って書いても読み込まれない...」 🧑「ググる」 29
ブログサイトを改修中 ブログサイトを改修中🧑 🧑「use って書いても読み込まれない...」 🧑「ググる」 🧑「名前空間?namespace?」 30
ブログサイトを改修中 ブログサイトを改修中🧑 🧑「use って書いても読み込まれない...」 🧑「ググる」 🧑「名前空間?namespace?」 🧑「use はインポート? ファイル読み込みとは違う?!」 31
ブログサイトを改修中 ブログサイトを改修中🧑 🧑「use って書いても読み込まれない...」 🧑「ググる」 🧑「名前空間?namespace?」 🧑「use はインポート? ファイル読み込みとは違う?!」 🧑「ディレクトリ関係ない?!」
32
namespace, use にディレクトリ名 は関係ない! use の前に require は必要! 33
namespace, use にディレクトリ名 は関係ない! 34 main.php zoo.php
namespace, use にディレクトリ名 は関係ない! 35 main.php zoo.php 適当な名前でも 無問題
namespace, use にディレクトリ名 は関係ない! 36 main.php zoo.php 名前空間 animal の
dog クラスを インポートする
namespace はなんでもいい! 37 main.php zoo.php
namespace, use にディレクトリ名 は関係ない! use の前に require は必要! 38
use の前に require は必要! 39 cat.php main.php
use の前に require は必要! 40 main.php zoo.php zoo.php を 読み込んでいる
use の前に require は必要! 41 cat.php main.php zoo.php require は
呼ばれている
use の前に require は必要! 42 main.php zoo.php require がないと use
できない
use の前に require は必要! 43 main.php zoo.php
終わりに 44
ブログサイトを生の PHP で作った 旧 新 結局 require は どうなったのか 45
require 後に実行されるファイル 46
require 後に実行されるファイル 同一の名前空間でク ラス名が衝突 しなければ無問題 47
require 後に実行されるファイル 同一の名前空間でク ラス名が衝突 しなければ無問題 必要なクラスを適 宜インポート 48
require 後に実行されるファイル 同一の名前空間でク ラス名が衝突 しなければ無問題 必要なクラスを適 宜インポート ディレクトリ名にす ると 管理しやすい
49
require 後に実行されるファイル 同一の名前空間でク ラス名が衝突 しなければ無問題 必要なクラスを適 宜インポート ディレクトリ名にす ると 管理しやすい
かっこいい 50
index.php は require がたくさん 51 オートロード使 えば消せるけ ど...
index.php は require がたくさん 最初に呼ばれるファ イルで 書きまくる 52
index.php は require がたくさん 最初に呼ばれるファ イルで 書きまくる 必要なクラスを適 宜インポート 53
index.php は require がたくさん 最初に呼ばれるファ イルで 書きまくる 必要なクラスを適 宜インポート require
のパスと use を揃えた 54
index.php は require がたくさん 最初に呼ばれるファ イルで 書きまくる 必要なクラスを適 宜インポート require
のパスと use を揃えた require を index.php に 集められた 55
まとめ 56
まとめ - use はインポート 57
まとめ - use はインポート - require はファイル読み込み 58
まとめ - use はインポート - require はファイル読み込み - use する前に
require は必要 59
まとめ - use はインポート - require はファイル読み込み - use する前に
require は必要 - オートロード使えば require とさよならできる 60
ご清聴ありがとうございました🙇 61