
PHP ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 3์ฃผ์ฐจ - 03 ์ค๋ฅ ์ ์ด ์ฐ์ฐ์ (@): ์ค๋ฅ ๋ฉ์์ง ์จ๊ธฐ๊ธฐ
![]() |
ํ์ | 10.0 | ๋ผ์ด์ผ์ค | free |
---|---|---|---|---|
์ฌ์ฉ์ํ์ | 10.0 | ์ด์์ฒด์ | ||
๋ค์ด๋ก๋ | 1 | ํ์ผํฌ๊ธฐ | 0 | |
์ ์์ฌ | LUZENSOFT | ๋ฑ๋ก์ผ | 2025-06-27 02:43:57 | |
์กฐํ์ | 19 |
๐ PHP ์ด๊ธ - 3์ฃผ์ฐจ - 03 ์ค๋ฅ ์ ์ด ์ฐ์ฐ์ (@): ์ค๋ฅ ๋ฉ์์ง ์จ๊ธฐ๊ธฐ
PHP ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ค ๋ณด๋ฉด ๋ค์ํ ์ข
๋ฅ์ #์ค๋ฅ (Error)๋ #๊ฒฝ๊ณ (Warning) ๋ฉ์์ง๋ฅผ ๋ง๋๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฉ์์ง๋ ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ฌธ์ ๋ฅผ ํ์
ํ๊ณ ํด๊ฒฐํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ์ง๋ง, ๋๋ก๋ ํน์ ์ํฉ์์ ๋ฐ์ํ๋ ๋ถํ์ํ๊ฑฐ๋ ์์๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ํ๋ฉด์ ํ์ํ๊ณ ์ถ์ง ์์ ๋๊ฐ ์์ต๋๋ค. ์ด๋ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด ๋ฐ๋ก **#์ค๋ฅ_์ ์ด_์ฐ์ฐ์ (@
)**์
๋๋ค. ์ด๋ฒ ํฌ์คํ
์์๋ PHP์ #์ค๋ฅ_์ ์ด_์ฐ์ฐ์ @
์ ์ฌ์ฉ๋ฒ๊ณผ ์ฃผ์์ฌํญ์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.
1. #์ค๋ฅ_์ ์ด_์ฐ์ฐ์ (@) ๋?
#์ค๋ฅ_์ ์ด_์ฐ์ฐ์ @
๋ PHP์์ ํน์ #ํํ์ ์์์ ์ฌ์ฉ๋์ด, ํด๋น #ํํ์ ์์ ๋ฐ์ํ๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ผ์์ ์ผ๋ก ์ต์ ํ๋ ์ญํ ์ ํฉ๋๋ค. ์ฆ, ํด๋น ์ฝ๋์์ #์ค๋ฅ ๋ #๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์ฌ์ฉ์์๊ฒ๋ ๋ฉ์์ง๊ฐ ํ์๋์ง ์๋๋ก ํฉ๋๋ค.
๊ธฐ๋ณธ ํํ:
@ํํ์;
์์:
PHP
<?php
// ์กด์ฌํ์ง ์๋ ํ์ผ์ ์ ๊ทผํ์ฌ ๊ฒฝ๊ณ ๋ฐ์
$file_content = file_get_contents("non_existent_file.txt");
echo "ํ์ผ ๋ด์ฉ: " . $file_content . "<br>"; // ๊ฒฝ๊ณ ๋ฉ์์ง ์ถ๋ ฅ ํ ํ์ผ ๋ด์ฉ: ์ถ๋ ฅ
// ์ค๋ฅ ์ ์ด ์ฐ์ฐ์ ์ฌ์ฉ
$file_content_suppressed = @file_get_contents("non_existent_file.txt");
echo "ํ์ผ ๋ด์ฉ (์ต์ ): " . $file_content_suppressed . "<br>"; // ๊ฒฝ๊ณ ๋ฉ์์ง ์์ด ํ์ผ ๋ด์ฉ (์ต์ ): ์ถ๋ ฅ
?>
์ ์์์์ ์ฒซ ๋ฒ์งธ file_get_contents()
ํธ์ถ์ ์กด์ฌํ์ง ์๋ ํ์ผ์ ์ ๊ทผํ๋ฏ๋ก ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ฐ์์ํต๋๋ค. ํ์ง๋ง ๋ ๋ฒ์งธ ํธ์ถ์์๋ ์์ @
#์ฐ์ฐ์ ๋ฅผ ๋ถ์ฌ ํด๋น #๊ฒฝ๊ณ _๋ฉ์์ง ๊ฐ ํ๋ฉด์ ํ์๋์ง ์๋๋ก ์ต์ ํฉ๋๋ค.
2. @
#์ฐ์ฐ์ ์ ์๋ ๋ฐฉ์
@
#์ฐ์ฐ์ ๊ฐ ํน์ #ํํ์ ์ ์ ์ฉ๋๋ฉด, PHP๋ ํด๋น #ํํ์ ์์ ๋ฐ์ํ๋ ๋ชจ๋ #์ค๋ฅ (E_ERROR, E_WARNING, E_NOTICE ๋ฑ)๋ฅผ ํ์ฌ error_reporting
์ค์ ๊ณผ ๊ด๊ณ์์ด ์ต์ ํฉ๋๋ค.
ํ์ง๋ง #์ค๋ฅ_๋ฉ์์ง ๊ฐ ์์ ํ ์ฌ๋ผ์ง๋ ๊ฒ์ ์๋๋๋ค. #์ค๋ฅ ๋ ์ฌ์ ํ ๋ฐ์ํ์ง๋ง, ๋จ์ํ ํ๋ฉด์ ํ์๋์ง ์์ ๋ฟ์ ๋๋ค. ๋ง์ฝ #์ค๋ฅ_ํธ๋ค๋ฌ ๊ฐ ์ค์ ๋์ด ์๋ค๋ฉด, ์ต์ ๋ #์ค๋ฅ ๋ #์ค๋ฅ_ํธ๋ค๋ฌ ๋ก ์ ๋ฌ๋ ์ ์์ต๋๋ค.
3. @
#์ฐ์ฐ์ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ ๋ฐ ๊ถ์ฅํ์ง ์๋ ์ด์
@
#์ฐ์ฐ์ ๋ ๊ฐ๋จํ๊ฒ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์จ๊ธธ ์ ์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์ ๊ถ์ฅํ์ง ์์ต๋๋ค. ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
#๋๋ฒ๊น _์ด๋ ค์: #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ต์ ํ๋ฉด ์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ์ด๋ฅผ ํ์ ํ๊ณ ๋๋ฒ๊น ํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ค์์ง๋๋ค. ๊ฐ๋ฐ์๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ํตํด ๋ฌธ์ ์ ์์ธ์ ์ถ์ ํ๊ณ ํด๊ฒฐํ ์ ์๋๋ฐ,
@
๋ ์ด๋ฌํ ์ค์ํ ์ ๋ณด๋ฅผ ์จ๊ฒจ๋ฒ๋ฆฝ๋๋ค.#์ฑ๋ฅ_์ ํ:
@
#์ฐ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ฉด PHP๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ต์ ํ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ถ๊ฐ์ ์ธ ์์ ์ ์ํํด์ผ ํ๋ฏ๋ก, ๋ฏธ๋ฏธํ๊ฒ๋๋ง #์ฑ๋ฅ_์ ํ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.#๋ฌธ์ _์ํ: #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์จ๊ธฐ๋ ๊ฒ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์๋๋ผ ๋จ์ํ ๋ณด์ด์ง ์๊ฒ ํ๋ ๊ฒ์ ๋๋ค. ์ด๋ ์ ์ฌ์ ์ธ ๋ฒ๊ทธ๋ ๋ณด์ ์ทจ์ฝ์ ์ ์ํํ์ฌ ๋ ํฐ ๋ฌธ์ ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
#์์ธ_์ฒ๋ฆฌ_๋์: PHP์๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ต์ ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ์์ ํ๊ณ ์ฒด๊ณ์ ์ธ #์ค๋ฅ_์ฒ๋ฆฌ_๋ฉ์ปค๋์ฆ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด,
try-catch
๋ธ๋ก์ ์ฌ์ฉํ #์์ธ_์ฒ๋ฆฌ ๋set_error_handler()
ํจ์๋ฅผ ์ฌ์ฉํ ์ฌ์ฉ์ ์ ์ #์ค๋ฅ_ํธ๋ค๋ฌ ์ค์ ๋ฑ์ด ์์ต๋๋ค.
4. @
#์ฐ์ฐ์ ๋์ ์ฌ์ฉํ ์ ์๋ ๋์
๋๋ถ๋ถ์ ๊ฒฝ์ฐ @
#์ฐ์ฐ์ ๋ณด๋ค๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ๋ฐ๋์งํฉ๋๋ค.
isset()
๋๋empty()
ํจ์ ์ฌ์ฉ: #๋ณ์ ๊ฐ ์ค์ ๋์ด ์๋์ง ๋๋ ๋น์ด์๋์ง ํ์ธํ ๋ ๋ฐ์ํ ์ ์๋E_NOTICE
#๊ฒฝ๊ณ ๋ฅผ ํผํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.PHP
// @$_GET['id'] ๋์ $id = isset($_GET['id']) ? $_GET['id'] : null;
file_exists()
ํจ์ ์ฌ์ฉ: ํ์ผ์ ์ ๊ทผํ๊ธฐ ์ ์ ํ์ผ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๋จผ์ ํ์ธํฉ๋๋ค.PHP
$filename = "non_existent_file.txt"; if (file_exists($filename)) { $content = file_get_contents($filename); } else { echo "ํ์ผ์ด ์กด์ฌํ์ง ์์ต๋๋ค.<br>"; $content = null; }
try-catch
๋ธ๋ก์ ์ฌ์ฉํ #์์ธ_์ฒ๋ฆฌ: ์น๋ช ์ ์ธ #์ค๋ฅ ๋ ์์ ๊ฐ๋ฅํ ์์ธ ์ํฉ์ ์ฒด๊ณ์ ์ผ๋ก ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํฉ๋๋ค.PHP
try { // ์ ์ฌ์ ์ผ๋ก ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ ์ ์๋ ์ฝ๋ // ์: ์กด์ฌํ์ง ์๋ ํด๋์ค ์ธ์คํด์คํ $obj = new NonExistentClass(); } catch (Error $e) { // ์ค๋ฅ ์ฒ๋ฆฌ echo "์ค๋ฅ ๋ฐ์: " . $e->getMessage() . "<br>"; }
error_reporting()
๋ฐini_set()
ํจ์ ์ฌ์ฉ: ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ด์ ํ๊ฒฝ์ ๋ฐ๋ผ #์ค๋ฅ_๋ณด๊ณ _์์ค ์ ์ ์ ํ๊ฒ ์ค์ ํฉ๋๋ค. ๊ฐ๋ฐ ์ค์๋ ๋ชจ๋ #์ค๋ฅ ๋ฅผ ํ์ํ์ฌ ๋ฌธ์ ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํ๊ณ , ์ด์ ํ๊ฒฝ์์๋ ์ฌ์ฉ์์๊ฒ #์ค๋ฅ_๋ฉ์์ง ๊ฐ ๋ ธ์ถ๋์ง ์๋๋ก ์ค์ ํฉ๋๋ค.PHP
// ๊ฐ๋ฐ ํ๊ฒฝ: ๋ชจ๋ ์ค๋ฅ ํ์ error_reporting(E_ALL); ini_set('display_errors', 1); // ์ด์ ํ๊ฒฝ: ์ค๋ฅ ํ์ ์ ํจ (๋ก๊ทธ์๋ง ๊ธฐ๋ก) // error_reporting(E_ALL & ~E_NOTICE); // NOTICE ์ ์ธํ ๋ชจ๋ ์ค๋ฅ ๋ณด๊ณ // ini_set('display_errors', 0); // ini_set('log_errors', 1); // ์ค๋ฅ๋ฅผ ๋ก๊ทธ ํ์ผ์ ๊ธฐ๋ก
๊ฒฐ๋ก
#์ค๋ฅ_์ ์ด_์ฐ์ฐ์ @
๋ PHP์์ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ผ์์ ์ผ๋ก ์ต์ ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ํ์ง๋ง ์ด๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ทผ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ด ์๋๋ฉฐ, #๋๋ฒ๊น
์ ์ด๋ ต๊ฒ ํ๊ณ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์ํํ ์ ์์ผ๋ฏ๋ก ์ฌ์ฉ์ ์ง์ํ๋ ๊ฒ์ด ๊ฐ๋ ฅํ ๊ถ์ฅ๋ฉ๋๋ค. ๋์ isset()
, file_exists()
, try-catch
๋ธ๋ก, ๊ทธ๋ฆฌ๊ณ ์ ์ ํ #์ค๋ฅ_๋ณด๊ณ _์ค์ ๊ณผ ๊ฐ์ ์ฒด๊ณ์ ์ธ #์ค๋ฅ_์ฒ๋ฆฌ_๋ฐฉ๋ฒ ์ ์ฌ์ฉํ์ฌ ๋ณด๋ค ์์ ํ๊ณ ๊ฒฌ๊ณ ํ PHP ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํด์ผ ํฉ๋๋ค.