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
590
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
1
70
開発終了後こそ成長のチャンス!プロダクト運用を見送った先のアクションプラン
ohmori_yusuke
2
160
学生の時に開催したPerl入学式をきっかけにエンジニアが組織に馴染むために勉強会を主催や仲間と参加して職能間の境界を越えていく
ohmori_yusuke
2
480
やりっぱなしで終わらない勉強法
ohmori_yusuke
2
370
OpenAPIにも静的解析とフォーマッターを導入して快適にスキーマ定義する
ohmori_yusuke
2
260
スクラムフェスに参加した
ohmori_yusuke
1
400
新卒エンジニアが組織に馴染むために勉強会を主催してチームの壁を越える
ohmori_yusuke
1
430
CGIプログラムを書いてみた
ohmori_yusuke
1
180
”私だけ”の技術発信から”仲間と”技術発信に変化するために
ohmori_yusuke
4
370
Other Decks in Programming
See All in Programming
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
イベント駆動で成長して委員会
happymana
1
320
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
530
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
Featured
See All Featured
Producing Creativity
orderedlist
PRO
341
39k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
How to Ace a Technical Interview
jacobian
276
23k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Music & Morning Musume
bryan
46
6.2k
Building an army of robots
kneath
302
43k
Art, The Web, and Tiny UX
lynnandtonic
297
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