매직 상수. PHP의 매직 메소드 및 사전 정의된 상수 Php 전역 상수




상수는 단순 값의 식별자(이름)입니다. 이름을 보면 스크립트 실행 중에 해당 값이 변경될 수 없다는 것을 쉽게 이해할 수 있습니다(단어의 완전한 의미에서 실제로 상수가 아닌 "마법" 상수는 예외입니다). 상수 이름은 대소문자를 구분합니다. 관례적으로 상수 이름은 항상 대문자로 작성됩니다.

상수의 이름은 PHP의 다른 이름과 동일한 규칙을 따라야 합니다. 유효한 이름은 문자나 밑줄로 시작하고 문자, 숫자, 밑줄로 구성됩니다. 상수 이름의 정확성을 확인하는 정규식은 다음과 같습니다. *

논평: 여기서 "문자"의 개념은 문자 a-z, A-Z 및 ASCII 코드 127부터 255(0x7f-0xff)를 포함하는 기타 문자입니다.

통사론

Define() 함수를 사용하거나 키워드를 사용하여 상수를 정의할 수 있습니다. const PHP 5.3.0부터 클래스 선언 외부에 있습니다. 상수가 정의되면 해당 값을 변경하거나 무효화할 수 없습니다.

상수에는 스칼라 데이터(부울, 정수, 부동 소수점 및 문자열 유형)만 포함될 수 있습니다. 유형의 상수를 정의하는 것도 가능하지만 예상치 못한 결과가 발생할 수 있으므로 피해야 합니다.

이름을 지정하여 상수 값을 얻을 수 있습니다. 변수와는 달리, 필요 없음상수 이름 앞에 기호를 붙입니다. $ . 상수 이름을 동적으로 생성하는 경우 상수() 함수를 사용하여 상수 값을 가져올 수도 있습니다. 선언된 모든 상수 목록을 얻으려면 get_define_constants() 함수를 사용하십시오.

논평: 상수와 (전역) 변수는 서로 다른 네임스페이스에 있습니다. 이는 예를 들어 다음을 의미합니다. 진실$TRUE와는 완전히 다른 것입니다.

정의되지 않은 상수를 사용하는 경우, PHP는 마치 문자열 리터럴("CONSTANT" 대신 CONSTANT)을 지정한 것처럼 상수 이름을 의미한다고 가정합니다. 그러면 E_NOTICE 수준 오류가 생성됩니다. $foo가 잘못된 이유를 설명하는 매뉴얼 장도 참조하세요(물론 먼저 선언하지 않은 경우). 술집 Define())을 사용하여 상수로 사용합니다. 상수가 정의되어 있는지 확인하고 싶다면 Defined() 함수를 사용하세요.

상수와 변수의 차이점:

  • 상수에는 달러 기호 접두어( $ );
  • 상수는 값을 할당하는 것이 아니라, Define() 함수를 통해서만 정의할 수 있습니다.
  • 상수는 범위에 관계없이 어디에서나 정의하고 액세스할 수 있습니다.
  • 상수는 초기 선언 후에 재정의되거나 무효화될 수 없습니다. 그리고
  • 상수는 스칼라 값만 가질 수 있습니다.

"매직" 상수

PHP는 실행하는 모든 스크립트에 대해 미리 정의된 상수의 큰 목록을 제공합니다. 이러한 상수 중 다수는 다양한 모듈에 의해 정의되며 해당 모듈이 동적 로딩이나 정적 어셈블리를 통해 사용 가능한 경우에만 존재합니다.

사용되는 상황에 따라 의미가 바뀌는 7가지 마법 상수가 있습니다. 예를 들어, 값 __선__이 상수가 지정되는 스크립트의 줄에 따라 달라집니다. 특수 상수는 대소문자를 구분하지 않으며 아래에 나열되어 있습니다.

일부 "마법의" PHP 상수
이름 설명
__선__ 파일의 현재 줄 번호입니다.
__파일__ 현재 파일의 전체 경로 및 이름입니다. 포함된 파일 내에서 사용되면 이 파일의 이름이 반환됩니다. PHP 버전 4.0.2부터 __파일__항상 심볼릭 링크가 허용되는 절대 경로를 포함하는 반면, 이전 버전은 일부 상황에서 상대 경로를 반환했습니다.
__디렉터__ 파일 디렉토리. 포함된 파일 내에서 사용되면 해당 파일의 디렉터리가 반환됩니다. 이는 전화하는 것과 같습니다. 디렉토리 이름(__FILE__). 반환된 디렉터리 이름은 루트 디렉터리(PHP 5.3.0에 추가됨)를 제외하고 슬래시로 끝나지 않습니다.
__기능__ 함수 이름. (PHP 4.3.0에 추가됨.) PHP 5부터 이 상수는 선언된 대로 정확하게 함수 이름을 반환합니다(대소문자 구분). PHP 4에서 이 값은 항상 소문자였습니다.
__수업__ 수업 이름. (PHP 4.3.0에 추가됨) PHP 5부터 이 상수는 선언된 것과 동일한 클래스 이름을 반환합니다(대소문자 구분). PHP 4에서 이 값은 항상 소문자였습니다. 클래스 이름에는 클래스가 선언된 네임스페이스의 이름이 포함됩니다(예: 푸\바). PHP5.4부터 __CLASS__는 특성에서도 작동합니다. 특성 메서드에 사용되는 경우 __CLASS__는 메서드가 사용되는 클래스의 이름입니다.
__특성__ 특성 이름. (PHP 5.4.0에 추가됨) PHP 5.4부터 이 상수는 선언된 대로 정확하게 특성 이름을 반환합니다(대소문자 구분). 이 이름에는 특성이 선언된 네임스페이스가 포함됩니다(예: 푸\바).
__방법__ 클래스 메소드의 이름입니다. (PHP 5.0.0에 추가됨) 메소드 이름은 선언된 대로 반환됩니다(대소문자 구분).
__네임스페이스__ 현재 네임스페이스의 이름입니다(대소문자 구분). 이 상수는 컴파일 타임에 결정됩니다(PHP 5.3.0에 추가됨).
예제 #1 정확하고 잘못된 상수 이름
// 올바른 상수 이름 정의("FOO", "something"); 정의("FOO2", "다른 것"); 정의("FOO_BAR", "더 많은 것"); // 잘못된 상수 이름 정의("2FOO", "something"); // 이것은 유효한 선언이지만 사용하지 않는 것이 좋습니다. // 언젠가 PHP가 스크립트를 손상시킬 "마법의" 상수를 등록할 수도 있습니다. Define("__FOO__", "something");

변수는 데이터를 포함하는 엔터티입니다. 데이터 유형이 저장된 데이터의 형식과 이를 사용하는 방법에 대한 일반적인 설명인 경우 변수는 컴퓨터 메모리의 특정 블록을 나타냅니다. 이 블록은 저장합니다 변수 값, 다음을 사용하여 블록(및 값)에 액세스할 수 있습니다. 변수 이름.


PHP에서 변수 이름은 항상 달러 기호($)로 시작하고 그 뒤에 문자가 와야 하며 그 뒤에는 문자, 숫자, 밑줄을 사용할 수 있습니다. 이름은 대소문자를 구분합니다. $value, $Value, $VALUE 및 $VaLuE 변수는 이름이 동일하더라도 4개의 서로 다른 변수입니다.

구문적으로 올바른 변수 이름의 예:

잘못된 이름의 예:

변수 이름 지정과 관련하여 모든 프로그래밍 언어에 대한 하나의 일반 규칙이 있습니다. 규칙은 매우 간단합니다. 이름은 항상 의미가 있어야 합니다.

읽기 어려운 코드의 예

물론 간결함은 재능의 본질이지만 간결함을 위해 코드 인식의 용이성을 희생하는 것은 현명하지 않습니다. 또한 이름의 길이는 스크립트 성능에 어떤 영향도 미치지 않습니다. 하지만 변수 이름을 너무 길게 지정하는 반대 극단으로 가면 안 됩니다. 이름이 두 개 이상의 단어로 구성되어야 하는 경우 이름의 일부를 대문자로 사용하거나 밑줄로 구분해야 합니다. 예를 들어, 이름 $strusernameadn도메인형태로 훨씬 더 잘 인식됩니다. $str_UserNameAndDomain.

가독성이 높은 코드의 예

변수에는 두 가지 유형이 있습니다. 일반 변수(값 변수) 및 참조 변수. 이들 사이의 주요 차이점은 데이터를 처리하는 방식입니다. 일반 변수에 값을 할당하면 할당된 값이 완전히 복사됩니다. 원래 값의 복사본이 배치되는 곳에 새로운 메모리 블록이 생성됩니다. 추가 작업 중에 모든 변경 사항은 원본 데이터가 아닌 이 복사본에 반영됩니다.

참조 변수는 다르게 작동합니다. 참조 변수에 값을 할당할 때 복사되는 것은 데이터가 아니라 해당 변수가 위치한 위치에 대한 정보입니다. 결과적으로 변수는 원본 데이터가 있는 동일한 블록을 가리킵니다. 이제 참조 변수의 값을 변경하면 원래 값이 변경됩니다.

예를 살펴보겠습니다:

값으로 변수 전달하기

PHP에는 변수 작업을 위한 특수 함수가 있습니다:

  • isset() - 변수가 선언되었는지 여부와 해당 값이 NULL과 다른지 확인합니다.
  • 비어 있음() - isset()과 유사
  • unset()은 변수의 값을 제거하고 사용 가능한 변수 목록에서 변수 자체를 제거(변수를 삭제)하는 내장 언어 함수입니다.

가변 범위

변수의 매우 중요한 특성은 해당 범위(범위)입니다. 프로그램(스크립트)에서 해당 값을 읽거나 변경할 수 있는 위치에 대한 설명입니다. 프로그램 블록 내부에 선언된 변수는 해당 블록 내에서만 볼 수 있으며, 블록 외부에 선언된 변수에 접근하려면 특별한 방법으로 선언되어야 한다는 점을 항상 기억해야 합니다.

이 경우 프로그램 블록은 "스크립트", "함수" 또는 "클래스"입니다. 예를 들어:

모든 것이 올바른 것 같지만 작동하지 않습니다. 왜? 함수 내의 변수 $name이 실제로 전역 변수 $name이라고 명시적으로 말하지 않는 한, 인터프리터는 $name이라는 이름과 빈 값을 사용하여 변수의 임시 복사본을 생성합니다. 그리고 값이 비어 있으므로(정의되지 않음) 문자열을 추가한 결과도 정의되지 않습니다(비어 있음).

상황을 수정하는 것은 매우 쉽습니다. 한 줄만 추가하면 됩니다(굵게 표시).

전역 $이름; // 전역 변수를 사용해야 함을 // 명시적으로 나타냅니다.$fullName = $이름 . $가족; echo "함수 내부 이름: ".$fullName; ) echo "함수 호출 전 이름: ".$name; // 결과: "함수를 호출하기 전 이름: Vasya" tryChengeName("Ivanov"); // 결과: "함수 내부 이름: Vasya Ivanov" echo "함수 호출 후 이름: ".$name; // 결과: "함수 호출 후 이름: Vasya Ivanov" ?>

이 예에서 $name 변수의 범위는 전체 스크립트와 동일하며 $fullName 변수는 함수 내부에 선언되어 함수 자체와 동일한 범위를 갖습니다. 이는 해당 함수가 종료되면 $fullName 변수가 삭제되고 해당 값을 읽으려는 모든 시도에 오류가 발생함을 의미합니다.

"클래스 및 상속" 섹션에서 클래스 작업의 예를 살펴보겠습니다.

변수 변수

예, 예, 여기에는 오류가 없습니다. 이것이 바로 PHP에서 일부 변수가 호출되는 두 단어입니다. 변수 이름의 텍스트 부분(즉, 달러 기호가 없는 이름) 자체가 이름이 될 수 있다는 아이디어입니다. 예를 들어:

꼭 필요한 경우가 아니면 이러한 기술을 사용하지 않는 것이 좋습니다. 이러한 트릭으로 채워진 코드는 유지 관리가 매우 어렵습니다. 이는 사용자가 입력한 데이터로 작업할 때 특히 중요합니다. 복잡성의 주요 원인은 암시적 종속성입니다. 예를 들어, "Vasya"라는 이름 대신에 다음과 같이 쓰면 어떻게 될까요? """""_;%//^q""? 오른쪽! 대부분의 경우 스크립트를 실행할 수 없습니다! 물론 "잘못된" 문자가 있는지 확인하는 여러 가지 검사를 추가할 수 있지만 그러한 트릭을 전혀 사용하지 않는 것이 더 쉽습니다.

상수

상수는 변하지 않는 특정 값입니다. 상수는 이름과 값을 모두 사용하여 선언됩니다. 상수를 선언하려면 다음 함수를 사용하십시오. 정의하다(), 상수의 존재 여부(즉, 정의 여부)를 확인하려면 - 함수 한정된(). 상수 이름은 변수 이름과 동일한 규칙에 따라 구성됩니다.

상수의 예:

별도의 유형의 PHP 상수는 소위 "마법 상수"입니다. 이는 인터프리터에 의해 값이 결정되고 설정되는 시스템 상수입니다. 다음과 같은 몇 가지 상수가 있습니다.

  • __LINE__ 현재 파일의 현재 줄 번호를 포함합니다.
  • __FILE__ 현재 파일의 전체 이름을 포함합니다.
  • __FUNCTION__ 현재 함수의 이름을 포함합니다.
  • __CLASS__ 현재 클래스의 이름을 포함합니다.
  • __METHOD__ 현재 클래스의 현재 메서드 이름을 포함합니다.

이러한 상수는 디버깅에 매우 편리하지만 다른 모든 경우에는 사용하지 않고 해당 함수에 대한 호출로 바꾸는 것이 좋습니다.

안녕하세요. 오늘 나는 PHP의 상수에 관해 글을 쓰기로 결정했습니다. 상수가 어떻게 작동하는지, 어떤 상수가 가장 자주 사용되고 존재하는지 알려드리겠습니다.

PHP의 맥락에서 상수란 무엇입니까?

상수는 본질적으로 값을 재정의할 수 없는 변수입니다. 즉, 값을 지정한 후에는 스크립트 실행 중에 더 이상 값을 변경할 수 없습니다. 일반적으로 대문자로 작성되며 이름은 여기에 저장된 정보를 구체적으로 반영합니다.

PHP에는 두 가지 유형의 상수가 있습니다.

  1. 일반(프로그래머가 설정)
  2. 미리 정의됨(통역사가 설정)

일반 상수

이러한 유형의 상수는 일반적으로 공식적인 목적으로 사용되며 프로그래머가 코드를 작성하는 과정에서 생성됩니다.
일반 상수를 생성하는 구문은 다음과 같습니다.

Define("PI",3.1415);

내장된 구문을 사용하여 상수가 생성됩니다. 정의("상수 이름","상수 값").

상수 작업 메커니즘을 간략하게 설명하기 위해 상수의 값이 한 번 설정되고 다시 변경할 수 없다는 사실의 예를 보여 드리겠습니다.

상수의 존재를 확인하기 위해 언어는 다음과 같은 함수를 제공합니다. 정의됨("CONST_NAME").

미리 정의된 상수

미리 정의된 상수는 생성되는 방식이 일반 상수와 다릅니다. 이는 인터프리터 자체에 의해 설정되며 프로그램 실행의 맥락에서 의미가 변경됩니다. 또한 대소문자를 구분하지 않습니다. __수업__또는 __수업__통역사에 의해 완벽하게 실행될 것입니다.

가장 일반적으로 사용되는 사전 정의된 상수는 다음과 같습니다.

  • __파일__— 현재 실행 중인 스크립트의 이름을 저장합니다.
  • __기능__— 현재 함수의 이름.
  • __수업__— 현재 클래스의 이름.
  • PHP_VERSION— PHP 인터프리터 버전이 포함되어 있습니다.
  • 진실, 거짓, 없는- 이름에 해당하는 의미를 포함합니다.

그러한 상수가 어떻게 작동하는지에 대한 예를 들어, 그 중 하나의 사용법을 살펴보겠습니다. __기능__:

예제에서 볼 수 있듯이 상수는 __기능__원래 호출된 함수의 이름을 반환했습니다. 알파벳().

그리고 그렇습니다. 상수는 함수를 사용하여 일반 변수처럼 삭제할 수 없습니다. 설정되지 않음(), 프로그램 실행 시작부터 끝까지 존재합니다.

그게 다야, 성공적인 연습과 좋은 기분을 기원합니다. 나중에 봐요.

웹사이트 콘텐츠 권리 보유.

PHP에는 프로젝트에 맞게 미리 정의된 특별 상수 및 매직 메소드 세트가 있습니다. Define() 을 사용하여 설정할 수 있는 일반 상수와 달리 미리 정의된 상수의 의미는 사용 위치에 따라 다르며 코드 및 PHP 시스템에 대한 읽기 전용 정보입니다. 특수한 PHP 기능에 액세스하기 위해 클래스에서 매직 메소드를 사용할 수 있습니다.

이 튜토리얼에서는 코드에서의 사용 예와 함께 몇 가지 유용한 사전 정의된 상수 및 매직 메소드를 살펴보겠습니다.

미리 정의된 상수

미리 정의된 상수는 코드에 대한 정보를 얻는 데 사용됩니다. 이러한 상수의 이름은 이중 밑줄 사이에 대문자로 표시됩니다(예: __LINE__ 및 __FILE__ ). 다음은 PHP에서 사용할 수 있는 유용한 미리 정의된 상수입니다:

  • __LINE__은 상수가 사용된 소스 파일의 줄 번호를 반환합니다.

  • __FILE__은 전체 경로를 포함한 파일 이름을 나타냅니다.

  • __DIR__은 파일 경로만 나타냅니다.

  • __CLASS__는 현재 클래스의 이름을 나타냅니다.

  • __FUNCTION__은 현재 함수의 이름을 나타냅니다.

  • __METHOD__는 현재 메서드의 이름을 나타냅니다.

  • __NAMESPACE__는 현재 네임스페이스의 이름을 나타냅니다.

마법의 방법

매직 메소드는 특수 PHP 기능에 대한 후크를 제공합니다. 이름은 __construct() 및 __destruct() 와 같이 앞에 두 개의 밑줄이 있는 소문자로 작성됩니다.

Construct()는 PHP가 클래스의 인스턴스를 생성하기 위해 호출하는 마법의 메서드입니다. 여러 인수를 허용합니다.

Destruct()는 PHP 수집기에 의해 객체가 파괴될 때 호출되는 매직 메서드입니다. 이 메서드는 인수를 사용하지 않으며 일반적으로 데이터베이스 연결 닫기와 같은 특수 작업을 수행하는 데 사용됩니다.

다음 몇 가지 매직 메서드는 속성을 조작하고 PHP가 정의되지 않은(또는 사용할 수 없는) 속성 및 메서드에 대한 호출을 처리하는 방법을 제공하도록 설계되었습니다.

속성이 정의되지 않은(또는 사용할 수 없는) 경우 PHP는 수신 컨텍스트에서 __get() 메서드를 호출합니다. 이 메서드는 속성 이름이라는 하나의 인수를 사용합니다. 속성 값으로 처리될 값을 반환해야 합니다.

__set() 메서드는 설정 컨텍스트의 정의되지 않은 속성에 대해 호출됩니다. 이 메서드는 속성 이름과 값이라는 두 개의 인수를 사용합니다.

myAarray[$prop] = $값; ) 공용 함수 __get($prop) ( return $this->myArray[$prop]; ) 공용 함수 __isset($prop) ( return isset($this->myArray[$prop]); ) 공용 함수 __unset($prop ) ( unset($this->myArray[$prop]); ) 공개 함수 __toString() ( return __CLASS__ . ":" . $this->name; ) ) $obj = new MySample(); if (!isset($obj->name)) ( $obj->name = "Alireza"; ) echo $obj->name; // 알리레자 echo $obj; // MySample: 알리레자

위 코드에서는 클래스에 name 속성이 정의되어 있지 않습니다. 코드는 이 속성을 "Alireza"로 설정하려고 시도하고 PHP는 __set() 매직 메서드를 호출합니다. "name"을 $prop로, "Alireza"를 $value로 사용하고 값을 개인 배열 $myArray에 저장합니다. __get() 메서드도 비슷한 방식으로 작동합니다. $obj->name을 인쇄할 때 __get() 메서드가 호출되고 "name" 값이 $prop 인수로 전달됩니다.

주어진 예에서와 같이 사용할 수 없는 속성을 조작하는 데 도움이 되는 다른 매직 메서드가 있습니다: __isset() , __unset() 및 __toString() . __isset() 및 __unset() 메서드는 모두 동일한 이름을 가진 함수에 의해 실행되지만 PHP에서는 밑줄이 없습니다.

Isset()은 속성이 설정되었는지 여부를 확인합니다. 이 메서드는 확인해야 하는 속성인 하나의 인수를 사용합니다. __unset() 메서드는 재설정할 속성의 이름인 하나의 인수를 사용합니다.

많은 경우, 예를 들어 사용자나 다른 프로세스에 출력하기 위해 객체를 문자열로 표현하는 것이 편리합니다. 일반적으로 PHP는 객체를 메모리 내 식별자로 표현하는데, 이는 이와 같은 기능에는 적합하지 않습니다. __toString() 메서드는 객체를 문자열로 표현하는 데 도움이 됩니다. 이 메서드는 객체가 문자열로 사용되는 다양한 상황에서 실행됩니다(예: echo "Hello $obj" ). 다른 공개 메서드와 마찬가지로 직접 호출할 수도 있습니다.

프로그램 실행 중에 변경되지 않는 특정 값을 영구적으로 저장하기 위해 변수를 사용하는 것이 상당히 불편한 경우가 있습니다. 이러한 값은 수학 상수, 파일 경로, 다양한 비밀번호 등이 될 수 있습니다. 이러한 목적을 위해 PHP는 다음과 같은 구성을 제공합니다.

프로그램(스크립트) 실행 중에 변경되지 않는 명명된 값입니다.

PHP에서 상수는 함수에 의해 정의됩니다. 정의하다(). 이 함수의 형식은 다음과 같습니다.

정의하다 ($name, $value, $case_sen), 어디:

$name- 상수의 이름;
$value- 상수의 값;
$case_sen- 논리적 유형의 선택적 매개변수,
문자가 대소문자를 구분해야 하는지(true), 그렇지 않은지(false) 여부를 나타냅니다.

PHP에서 상수를 정의하고 사용하는 예:


에코 파이;
// 출력 3.14
?>

매개변수인 경우 $case_sen같음 진실, 그러면 인터프리터는 상수로 작업할 때 문자의 대/소문자를 고려합니다. 상수는 선행 기호 없이 사용된다는 점에 유의하세요. $ .

상수와 변수의 차이점:

    상수에는 달러 기호 접두어( $ );

    상수는 함수를 통해서만 정의할 수 있습니다. 정의하다(), 값을 할당하는 것이 아닙니다.

    상수는 범위에 관계없이 어디에서나 정의하고 액세스할 수 있습니다.

    초기 선언 후에는 상수를 정의하거나 무효화할 수 없습니다.

    상수는 스칼라 값만 가질 수 있습니다.

상수 존재 여부 확인

상수의 존재를 확인하려면 다음 함수를 사용할 수 있습니다. 한정된(). 이 함수는 다음을 반환합니다. 진실, 상수가 선언된 경우. 예는 다음과 같습니다.

// 상수 pi 선언
정의("pi" , 3.14 , true );
if (정의됨 ("pi" )== true ) 에코 "상수 파이가 선언되었습니다!";
// 스크립트는 "상수 파이 선언!"을 인쇄합니다.
?>

PHP 사전 정의된 상수

PHP에는 다음과 같은 사전 정의된 상수가 있습니다:

PHP는 실행하는 모든 스크립트에 대해 미리 정의된 상수의 큰 목록을 제공합니다. 이러한 상수 중 다수는 다양한 모듈에 의해 정의되며 해당 모듈이 동적 로딩이나 정적 어셈블리를 통해 사용 가능한 경우에만 존재합니다.

사용되는 상황에 따라 의미가 변경되는 미리 정의된 5개의 상수가 있습니다. 예를 들어, 상수 __선__이 상수가 지정되는 스크립트의 줄에 따라 달라집니다. 특수 상수는 대소문자를 구분하지 않으며 아래에 나열되어 있습니다.

이름 설명
__선__ 파일의 현재 줄.
__파일__ 현재 파일의 전체 경로 및 이름입니다.
__디렉터__ 파일의 디렉터리입니다. 포함 내에서 사용되면 포함된 파일의 디렉터리가 반환됩니다. 이는 dirname(__FILE__)과 동일합니다. 이 디렉터리 이름은 루트 디렉터리가 아닌 이상 뒤에 슬래시가 없습니다.
__기능__ 함수 이름. (PHP 4.3.0에서 추가되었습니다.)
__수업__ 수업 이름. (PHP 4.3.0에서 추가되었습니다.)
__특성__ 특성 이름입니다. 특성 이름에는 해당 특성이 선언된 네임스페이스(예: Foo\Bar)가 포함됩니다.
__방법__ 클래스 메소드의 이름입니다. (PHP 5.0.0에서 추가됨)
__네임스페이스__ 현재 네임스페이스의 이름입니다.

추가적으로