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
32
デザインって“感覚”だけじゃないVibe Codingからの気づき
ohmori_yusuke
3
64
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
140
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
470
市町村のオープンデータを使って「公園・トイレの口コミマップ」を作ってみた
ohmori_yusuke
0
49
エンジニアが組織に馴染むために勉強会を主催してチームの壁を越える
ohmori_yusuke
2
150
学びは趣味の延長線
ohmori_yusuke
0
93
言葉にするとやる気を再確認できる
ohmori_yusuke
1
38
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
170
Other Decks in Programming
See All in Programming
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
580
[DevinMeetupTokyo2025] コード書かせないDevinの使い方
takumiyoshikawa
2
280
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
2
1.9k
あのころの iPod を どうにか再生させたい
orumin
2
2.4k
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
21
10k
実践 Dev Containers × Claude Code
touyu
1
170
MCPで実現できる、Webサービス利用体験について
syumai
7
2.5k
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
970
物語を動かす行動"量" #エンジニアニメ
konifar
14
4.1k
Nuances on Kubernetes - RubyConf Taiwan 2025
envek
0
140
Webinar: AI-Powered Development: Transformiere deinen Workflow mit Coding Tools und MCP Servern
danielsogl
0
110
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)The Basics of Agent Development with ADK — A Demo-Focused Introduction
risatube
PRO
6
1.4k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building an army of robots
kneath
306
45k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Producing Creativity
orderedlist
PRO
347
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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