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 使い始めてから躓いた...
Search
uutan1108
March 08, 2024
Programming
1
1k
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
技術以外をきっかけに交流するエンジニア向け勉強会
ohmori_yusuke
0
38
デザインって“感覚”だけじゃないVibe Codingからの気づき
ohmori_yusuke
3
68
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
140
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
510
市町村のオープンデータを使って「公園・トイレの口コミマップ」を作ってみた
ohmori_yusuke
0
280
エンジニアが組織に馴染むために勉強会を主催してチームの壁を越える
ohmori_yusuke
2
160
学びは趣味の延長線
ohmori_yusuke
0
96
言葉にするとやる気を再確認できる
ohmori_yusuke
1
42
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
180
Other Decks in Programming
See All in Programming
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
220
令和最新版手のひらコンピュータ
koba789
14
8.2k
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
0
210
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
3
1.8k
KessokuでDIでもgoroutineを活用する / Go Connect #6
mazrean
0
120
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
0
180
パスタの技術
yusukebe
1
540
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
180
旅行プランAIエージェント開発の裏側
ippo012
1
530
TDD 実践ミニトーク
contour_gara
1
260
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
200
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
760
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Facilitating Awesome Meetings
lara
55
6.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Side Projects
sachag
455
43k
Practical Orchestrator
shlominoach
190
11k
Building an army of robots
kneath
306
46k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Writing Fast Ruby
sferik
628
62k
Bash Introduction
62gerente
614
210k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Code Reviewing Like a Champion
maltzj
525
40k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
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