소개
상수는 $x=10 또는 $name="XYZ"와 같은 할당 표현식에서 문자 그대로 표현되며, 여기서 10과 XYZ는 변수에 할당된 숫자 및 문자열 상수입니다. PHP에서는 define() 함수를 사용하여 사용자 정의 식별자로 상수를 정의할 수 있습니다.
구문
define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool
매개변수
Sr.No | 매개변수 및 설명 |
---|---|
1 | 이름 상수의 이름. |
2 | 값 상수 값은 모든 스칼라 값(정수, 부동 소수점, 문자열 등) 또는 배열일 수 있습니다. |
3 | 대소문자를 구분하지 않음 상수 식별자는 기본적으로 대소문자를 구분합니다. 이 매개변수가 true로 설정되면 이름과 NAME이 유사하게 처리됩니다. |
반환 값
정의가 성공하면 함수가 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
예시
다음 예는 상수를 정의하기 위해 define() 함수를 사용하는 것을 보여줍니다.
<?php define("maxmarks",300); define("pi", 3.142); define("subjects",["phy", "che", "maths"]); ?>
마법 상수
PHP에는 미리 정의된 상수가 많이 있지만 해당 확장이 설치되면 대부분이 활성화됩니다. 그러나 매직 상수라고 하는 다음 상수는 항상 사용할 수 있습니다.
이름 | 설명 |
__LINE__ | 파일의 현재 줄 번호입니다. |
__FILE__ | 파일의 전체 경로 및 파일 이름 |
__DIR__ | 파일의 디렉토리. |
__기능__ | 함수 이름 또는 익명 함수의 경우 {클로저}입니다. |
__CLASS__ | 클래스 이름. 클래스 이름에는 선언된 네임스페이스가 포함됩니다(예:Foo\Bar). PHP 5.4부터 __CLASS__는 특성에서도 작동합니다. 특성 메소드에서 사용되는 경우 __CLASS__는 특성이 사용되는 클래스의 이름입니다. |
__TRAIT__ | 특성 이름. 특성 이름에는 선언된 네임스페이스가 포함됩니다(예:Foo\Bar). |
__METHOD__ | 클래스 메소드 이름. |
__NAMESPACE__ | 현재 네임스페이스의 이름입니다. |
다음 예는 몇 가지 마법 상수를 보여줍니다.
예시
<?php echo "Line no: " . __LINE__ . "\n"; echo "file name : " . __FILE__ . "\n"; echo "directory name: " . __DIR__ . "\n"; function myfunction(){ echo "function name: " . __FUNCTION__ . "\n"; } class myclass{ public function __construct() { echo __CLASS__ . "\n"; } public function mymethod(){ echo __METHOD__; } } $obj=new myclass(); $obj->mymethod(); ?>
출력
다음 결과가 표시됩니다.
Line no: 2 file name : C:\xampp\php\testscript.php directory name: C:\xampp\php myclass myclass::mymethod