PHP 매직 상수

WBOY
풀어 주다: 2024-08-29 13:01:35
원래의
881명이 탐색했습니다.

PHP 매직 상수에는 사용 위치에 따라 종속성을 변경하는 총 8개의 상수가 있습니다. 이러한 마법의 상수는 모두 컴파일 타임에 해결되며, 우리가 일반적으로 런타임에 해결하는 정기적으로 사용하는 상수와는 다릅니다. 이러한 마법 상수는 대소문자를 구분하지 않습니다. 이러한 상수는 미리 정의된 상수이며 이중 밑줄(__)로 시작하고 이중 밑줄로 끝납니다. 이 상수는 PHP에서 가장 실용적이고 유용한 상수입니다. 이는 단순한 변수이지만 사전 정의된 의미를 갖습니다. 이 상수는 사용자 정의 입력을 인쇄하고 출력을 처리하여 화면에 표시하는 데 사용됩니다.

광고 이 카테고리에서 인기 있는 강좌 MAGIC BULLET LOOKS - 전문화 | 2개 코스 시리즈

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

PHP의 매직 상수 유형

PHP에는 아래에 언급된 총 8개의 마법 상수가 있습니다.

  • __LINE__: 이 상수는 출력 화면에서 사용되는 코드의 줄 번호를 인쇄하는 데 사용됩니다. 현재 줄 번호를 나타냅니다.
  • __FILE__: 이 상수는 파일의 전체 파일 경로와 파일 이름을 출력 화면에 인쇄하는 데 사용됩니다.
  • __DIR__: 이 상수는 출력 화면에 특정 파일의 전체 디렉터리 경로를 인쇄하는 데 사용됩니다. 또한 파일의 디렉터리 경로를 인쇄하는 동일한 방법이 하나 더 있습니다: dirname(__FILE__).
  • __FUNCTION__: 이 상수는 출력 화면에서 현재 사용되고 있는 함수 이름을 인쇄합니다. 함수 내부에서 사용하면 함수명을 출력하고, 함수 외부에서 사용하면 공백을 반환합니다.
  • __CLASS__: 이 상수는 출력 화면에서 사용되는 클래스 이름을 인쇄하는 데 사용됩니다. 클래스 내부에서 사용하면 클래스 이름을 출력하고, 함수 외부에서 사용하면 공백을 반환합니다.
  • __TRAIT__: 이 상수는 특성 이름이 사용되는 곳에 사용됩니다. 함수 내부에서 사용되면 이름을 출력하고, 함수 외부에서 사용되면 공백을 반환합니다. 특성은 출력 화면에 네임스페이스를 인쇄하는 데 사용됩니다.
  • __METHOD__: 이 상수는 사용되는 클래스 내부에 정의된 메서드의 이름을 출력 화면에 인쇄하는 데 사용됩니다. 코드에 선언된 메서드의 이름을 반환합니다. 메소드나 클래스 내부에서 사용하면 메소드 이름을 반환하고, 함수 외부에서 사용하면 공백을 반환합니다.
  • __NAMESPACE__: 이 상수는 출력 화면에 현재 네임스페이스의 이름을 인쇄하는 데 사용됩니다.

PHP에서 매직 상수는 어떻게 작동하나요?

다음은 PHP에서 매직 상수가 작동하는 방식의 예입니다.

PHP에서는 일상적으로 사용하는 아주 쉬운 코드, 너무 어려운 코드에도 마법 상수를 사용할 수 있습니다. 어떻게 작동하는지 예를 들어 보겠습니다.

예시 #1

코드:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h1>Example for __LINE__ constant</h1>";
echo "The line number is " . __LINE__ . "<br><br>";// prints the current line number i.e;7
?>
</body>
</html>
로그인 후 복사

출력:

PHP 매직 상수

예시 #2

코드:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __FILE__ constant</h2>";
echo __FILE__ . "<br><br>";//prints the full path of the file with extension
?>
</body>
</html>
로그인 후 복사

출력:

PHP 매직 상수

예시 #3

코드:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h3>Example for __DIR__ constant</h3>";
echo __DIR__ . "<br><br>";//prints the full path of the directory where the script is placed.
?>
</body>
</html>
로그인 후 복사

출력:

PHP 매직 상수

예시 #4

코드:

<!DOCTYPE html>
<html>
<body>
<?php
function amount()
{
echo 'the function name is '. __FUNCTION__ . "<br><br>";//the function name is amount.
}
amount();
?>
</body>
</html>
로그인 후 복사

출력:

PHP 매직 상수

예시 #5

코드:

<!DOCTYPE html>
<html>
<body>
<?php
//Using magic constant inside function.
function amount()
{
echo 'the function name is '. __FUNCTION__ . "<br><br>";//the function name is amount.
}
amount();
echo 'the function name is '. __FUNCTION__ ."<br><br>";
?>
</body>
</html>
로그인 후 복사

출력:

PHP 매직 상수

예시 #6

코드:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __CLASS__</h2>";
class xyz
{
public function __construct() {
;
}
function xyz_method()
{
echo __CLASS__ . "<br>";//prints the name of the class xyz mentioned above.
}
}
$a = new xyz;
$a->xyz_method();
?>
</body>
</html>
로그인 후 복사

출력:

PHP 매직 상수

예 #7

코드:

<!DOCTYPE html>
<html>
<body>
<?php
class abc
{
function test_abc()
{
echo __CLASS__;//will always print parent class which is abc mentioned above.
}
}
class xyz extends abc
{
public function __vowels()
{
;
}
}
$b = new xyz;
$b->test_abc();
?>
</body>
</html>
로그인 후 복사

출력:

PHP 매직 상수

예시 #8

코드:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h4>Example for __TRAIT__</h4>";
trait create_trait
{
function trait()
{
echo __TRAIT__;//will print name of the trait create_trait mentioned above.
}
}
class new_class
{
use create_trait;
}
$c = new new_class;
$c-> trait ();
?>
</body>
</html>
로그인 후 복사

출력:

PHP 매직 상수

예시 #9

코드:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __METHOD__</h2>";
class method
{
public function __parameter() {
echo __METHOD__ . "<br><br>";//print method::__parameter
}
public function method_fun(){
echo __METHOD__;//print meth::method_fun
}
}
$z = new method;
$z->method_fun();
?>
</body>
</html>
로그인 후 복사

출력:

PHP 매직 상수

각 기능의 출력은 위에 언급되어 있습니다. 라인 상수는 localhost에 저장된 파일 leela.php의 현재 라인을 인쇄합니다. 파일 상수는 출력에 표시된 대로 경로와 함께 파일 이름을 인쇄합니다. dir 상수 또는 dirname은 현재 디렉터리 경로나 언급된 디렉터리 경로를 인쇄합니다. 메서드 및 클래스 상수는 코드에 언급된 메서드 이름과 클래스 이름을 인쇄합니다. 메서드와 클래스 외부에서 상수가 언급되면 범위를 벗어나므로 화면에 아무 것도 인쇄되지 않으며 마찬가지로 위에서 언급한 다른 상수의 출력도 마찬가지입니다.

결론

이 기사에서는 PHP의 모든 마법 상수와 사용법을 배웠습니다. 크고 작은 프로그램부터 크고 큰 프로그램까지 사용할 수 있습니다. 개발자는 오류가 발생한 위치에 대한 문제를 역추적하기 위해 이러한 상수를 사용할 수 있습니다. 이러한 상수는 개발자나 사용자가 코드의 현재 위치를 확인하는 데 도움이 됩니다.

위 내용은 PHP 매직 상수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿