
PHP ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 2์ฃผ์ฐจ - 03 ์์ (define): ๋ณํ์ง ์๋ ๊ฐ ์ ์ธํ๊ธฐ
![]() |
ํ์ | 10.0 | ๋ผ์ด์ผ์ค | free |
---|---|---|---|---|
์ฌ์ฉ์ํ์ | 10.0 | ์ด์์ฒด์ | ||
๋ค์ด๋ก๋ | 1 | ํ์ผํฌ๊ธฐ | 0 | |
์ ์์ฌ | LUZENSOFT | ๋ฑ๋ก์ผ | 2025-06-27 00:44:35 | |
์กฐํ์ | 14 |
๐ PHP ์ด๊ธ - 2์ฃผ์ฐจ - 03 ์์ (define): ๋ณํ์ง ์๋ ๊ฐ ์ ์ธํ๊ธฐ
#๋ณ์ ๊ฐ ํ๋ก๊ทธ๋จ ์คํ ์ค์ ๊ฐ์ด #๋ณํ ํ ์ ์๋ #๋ฐ์ดํฐ ์ ์ฅ ๊ณต๊ฐ์ด๋ผ๋ฉด, #์์ ๋ ํ ๋ฒ #์ ์ ๋๋ฉด ํ๋ก๊ทธ๋จ์ด ๋๋ ๋๊น์ง #์ฌํ ๋น ํ ์ ์๋ #๊ณ ์ ๋_๊ฐ ์
๋๋ค. PHP์์๋ ์ฃผ๋ก define()
ํจ์๋ฅผ ์ฌ์ฉํ์ฌ #์์ ๋ฅผ #์ ์ ํฉ๋๋ค. ์ด๋ฒ ํฌ์คํ
์์๋ PHP์์ #์์ ๋ฅผ #์ ์ธ ํ๊ณ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.
1. #์์ ๋?
#์์ ๋ ์ด๋ฆ ๊ทธ๋๋ก ํญ์ #๊ฐ์_๊ฐ ์ ์ ์งํ๋ #๋ณํ์ง_์๋_๊ฐ ์ ๋๋ค. ํ ๋ฒ #์ ์ ๋ #์์ ๋ ํ๋ก๊ทธ๋จ ์คํ ์ค์ ๊ทธ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ด๋ ํน์ #๊ฐ ์ด ์ค์๋ก #๋ณ๊ฒฝ ๋๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ ์ฝ๋์ ์์ ์ฑ์ ๋์ด๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
์ฃผ๋ก ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ #์์ ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
#๋ณํ์ง_์๋_์ค์ _๊ฐ (์: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ์ ๋ณด, API ํค ๋ฑ)
#๊ณ ์ ๋_์์น (์: ์์ฃผ์จ
PI
, ์ต๋ ํ์ฉ์น ๋ฑ)#๊ณ ์ ๋_๋ฌธ์์ด (์: ์ฌ์ดํธ๋ช , ๊ด๋ฆฌ์ ์ด๋ฉ์ผ ๋ฑ)
2. define()
ํจ์๋ฅผ ์ด์ฉํ #์์ #์ ์
PHP์์ #์์ ๋ฅผ #์ ์ ํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ define()
ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
define()
ํจ์๋ ๋ ๊ฐ ๋๋ ์ธ ๊ฐ์ ์ธ์๋ฅผ ๊ฐ์ง๋๋ค.
PHP
define(name, value, case_insensitive);
name
: #์์ ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. (ํ์)value
: #์์ ์ #ํ ๋น ํ ๊ฐ์ ์ง์ ํฉ๋๋ค. (ํ์)case_insensitive
:true
๋ก ์ค์ ํ๋ฉด #์์ ์ด๋ฆ์ ๋์๋ฌธ์ ๊ตฌ๋ถ ์์ด ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์false
(๋์๋ฌธ์ ๊ตฌ๋ถ). PHP 7.3๋ถํฐ๋true
๋ก ์ค์ ํ๋ ๊ฒ์ด ๊ถ์ฅ๋์ง ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก #์์ ์ด๋ฆ์ ๋ชจ๋ ๋๋ฌธ์๋ก ์์ฑํ๊ณ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ ๊ฒ์ด ๊ด๋ก์ ๋๋ค.
์์:
PHP
<?php
// ๊ธฐ๋ณธ ์์ ์ ์ (๋์๋ฌธ์ ๊ตฌ๋ถ)
define("SITE_NAME", "My Awesome Website");
define("PI", 3.14159);
define("MAX_USERS", 1000);
echo SITE_NAME; // ์ถ๋ ฅ: My Awesome Website
echo "<br>";
echo PI; // ์ถ๋ ฅ: 3.14159
echo "<br>";
echo MAX_USERS; // ์ถ๋ ฅ: 1000
// define("SITE_NAME", "New Name"); // ์ด๋ฏธ ์ ์๋ ์์๋ ์ฌํ ๋น ๋ถ๊ฐ๋ฅ (์ค๋ฅ ๋ฐ์)
?>
3. #์์ ์ฌ์ฉ ์ ์ฃผ์ํ ์
#๋ฌ๋ฌ_๊ธฐํธ_์์: #์์ ๋ฅผ ์ฌ์ฉํ ๋๋ #๋ณ์ ์ฒ๋ผ ์์ #๋ฌ๋ฌ_๊ธฐํธ (
$
)๋ฅผ ๋ถ์ด์ง ์์ต๋๋ค.#๋๋ฌธ์_๊ด๋ก: #์์ ์ด๋ฆ์ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๋๋ฌธ์๋ก ์์ฑํ๊ณ , ์ฌ๋ฌ ๋จ์ด๋ ๋ฐ์ค(
_
)๋ก ๊ตฌ๋ถํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ #์ฝ๋ฉ_๊ด๋ก ์ ๋๋ค. ์ด๋ #์์ ์ #๋ณ์ ๋ฅผ ์๊ฐ์ ์ผ๋ก ๊ตฌ๋ถํ๋ ๋ฐ ๋์์ ์ค๋๋ค.#์ฌ์ ์_๋ถ๊ฐ: ํ ๋ฒ #์ ์ ๋ #์์ ๋ #์ฌ์ ์ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์๋ํ๋ฉด PHP๋ ์ค๋ฅ๋ฅผ ๋ฐ์์ํต๋๋ค.
#์ค์ฝํ:
define()
์ผ๋ก #์ ์ ๋ #์์ ๋ #์ ์ญ_์ค์ฝํ ๋ฅผ ๊ฐ์ง๋ฏ๋ก, ์คํฌ๋ฆฝํธ์ ์ด๋ ๊ณณ์์๋ ์ ๊ทผํ ์ ์์ต๋๋ค. ํจ์ ๋ด๋ถ์์๋global
ํค์๋ ์์ด ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์:
PHP
<?php
define("DB_HOST", "localhost");
function connectDatabase() {
// ํจ์ ๋ด๋ถ์์ DB_HOST ์์์ ์ง์ ์ ๊ทผ ๊ฐ๋ฅ
echo "๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ์คํธ: " . DB_HOST;
}
connectDatabase(); // ์ถ๋ ฅ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ์คํธ: localhost
?>
4. #์ ์_์ฌ๋ถ_ํ์ธ
ํน์ #์์ ๊ฐ ์ด๋ฏธ #์ ์ ๋์ด ์๋์ง ํ์ธํ๋ ค๋ฉด defined()
ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
PHP
<?php
if (!defined("APP_VERSION")) {
define("APP_VERSION", "1.0.0");
echo "APP_VERSION ์์๊ฐ ์ ์๋์์ต๋๋ค: " . APP_VERSION;
} else {
echo "APP_VERSION ์์๋ ์ด๋ฏธ ์ ์๋์ด ์์ต๋๋ค: " . APP_VERSION;
}
echo "<br>";
// ์กด์ฌํ์ง ์๋ ์์๋ฅผ ํ์ธ
if (defined("NON_EXISTENT_CONST")) {
echo "NON_EXISTENT_CONST ์์๊ฐ ์ ์๋์ด ์์ต๋๋ค.";
} else {
echo "NON_EXISTENT_CONST ์์๋ ์ ์๋์ด ์์ง ์์ต๋๋ค.";
}
?>
5. #๋ฏธ๋ฆฌ_์ ์๋_์์
PHP์๋ ์์คํ ์์ ๋ฏธ๋ฆฌ #์ ์ ํด ๋ ๋ง์ #์์ ๋ค์ด ์์ต๋๋ค. ์ด๋ค์ PHP์ ํ๊ฒฝ ์ ๋ณด๋ ํน์ ํจ์์ ๋ฐํ ๊ฐ ๋ฑ์ ๋ํ๋ ๋๋ค.
์์:
PHP_VERSION
: ํ์ฌ PHP ๋ฒ์ __FILE__
: ํ์ฌ ํ์ผ์ ์ ์ฒด ๊ฒฝ๋ก์ ํ์ผ๋ช__LINE__
: ํ์ฌ ์ฝ๋์ ์ค ๋ฒํธTRUE
,FALSE
,NULL
: PHP์ ์์ฝ์ด์ง๋ง #์์ ๋ก๋ ์ทจ๊ธ๋ ์ ์์ต๋๋ค.
PHP
<?php
echo "ํ์ฌ PHP ๋ฒ์ : " . PHP_VERSION;
echo "<br>";
echo "ํ์ฌ ํ์ผ: " . __FILE__;
echo "<br>";
echo "ํ์ฌ ์ค: " . __LINE__;
?>
__FILE__
, __LINE__
๋ฑ __
(๋ ๊ฐ์ ๋ฐ์ค)๋ก ์์ํ๊ณ ๋๋๋ #์์ ๋ค์ ๋งค์ง_์์๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, PHP์ ์ํด ๋์ ์ผ๋ก ๊ฐ์ด ๊ฒฐ์ ๋ฉ๋๋ค.
๊ฒฐ๋ก
์ด๋ฒ ์๊ฐ์๋ PHP์์ #์์ ๋ฅผ #์ ์ ํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์์ต๋๋ค. #์์ ๋ ํ๋ก๊ทธ๋จ ๋ด์์ #๋ณํ์ง_์๋_๊ฐ ์ ์์ ํ๊ฒ ๊ด๋ฆฌํ๋ ๋ฐ ํ์์ ์ธ ์์์ ๋๋ค. #๋ณ์ ์์ ์ฐจ์ด์ ์ ๋ช ํํ ์ดํดํ๊ณ , ์ ์ ํ ์ํฉ์ #์์ ๋ฅผ ํ์ฉํ์ฌ ๋์ฑ ๊ฒฌ๊ณ ํ๊ณ ์ ์ง๋ณด์๊ฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ์๊ธธ ๋ฐ๋๋๋ค.