autoload (psr-4)

์„ธํŒ…์„ ๋‹คํ•˜๊ณ ๋‚˜์„œ ํŒŒ์ผ์ด ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š์•„์„œ ์–ด๋–ค ์ด์œ ์ธ์ง€ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” namespace๋ฅผ ์ž˜๋ชป ์ดํ•ด๋ฅผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ namespace๋Š” ์ž๋ฐ”์ฒ˜๋Ÿผ ์ƒ์œ„ํด๋”๋ถ€ํ„ฐ ์ ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์ ˆ๋Œ€ ๋ฃจํŠธ์ฒ˜๋Ÿผ ์ ์–ด์ค˜์•ผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์˜ˆ) __DIR__ . โ€œ/src/lib/Util.phpโ€;

๋ชจ๋“  ํŒŒ์ผ๋“ค์„ ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€ํ•˜๋‹ค๋ณด๋ฉด ๊ด€๋ฆฌํ•˜๊ธฐ ์–ด๋ ต๊ณ  ์˜คํƒ€๋กœ ์ธํ•œ ์‹ค์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


autoload๋ฅผ ํ†ตํ•ด ๋‹จ ํ•œ์ค„๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๊ฒŒ ์ž๋ฐ”์ฒ˜๋Ÿผ ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

require_once 'vendor/autoload.php';



PSR-4 ์ž๋™ ๋กœ๋”ฉ ์„ค์ •


๋จผ์ € composer.json์„ ํŽธ์ง‘ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ๋งŒ๋“ค์–ด ๋‘ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

"autoload"  : {
	"psr-4"  : {
		"App\\"  : "app/"
	}
}

๋จผ์ € composer.json ์—๋Š” ์˜คํ† ๋กœ๋“œ์˜ psr-4 ๋ฅผ ๋จผ์ € ๋งŒ๋“ค์–ด์ฃผ๊ณ 

composer dump-autoload

๋ฅผ ์ž…๋ ฅํ•˜๋ฉด

vender/composer/autoload_psr4.php ์— ์ž๋™์œผ๋กœ ๋ฃจํŠธ๊ฐ€ ์ƒ์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค.

autoload autoload2

๊ฒฐ๋ก ์ ์œผ๋กœ namespace๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด์„œ ์ƒ๊ธด ์‚ฌ๊ฑด๊ฐ™์Šต๋‹ˆ๋‹ค.

์กฐ๊ธˆ๋” ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์ž๋ฉด namespace๋Š” ๋ฃจํŠธ๋ถ€ํ„ฐ ์ ์–ด๋„ ์ž๋ฐ”์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.


๋‘๋ฒˆ์งธ๋กœ namespace๋ฅผ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” __DIR__ . src~ ์ด๋Ÿฐ์‹์œผ๋กœ dir์„ ์จ์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๋งค๋ฒˆ ์ด๋ ‡๊ฒŒ ์ ๊ธฐ ํž˜๋“ค๊ธฐ๋•Œ๋ฌธ์— autoload๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ autoload๋Š” ์„ค์ •ํ•ด๋†“์€ ๋ฃจํŠธ์— ์ ‘๊ทผํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ฃจํŠธ(์ ˆ๋Œ€ ๊ฒฝ๋กœ)๋ฅผ ๋”ํ•ด์„œ ์ ‘๊ทผํ•ด์ฃผ๋Š” ์—ญํ• ์ธ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Categories:

Updated:

Leave a comment