클래스에서 항상 변하지 않는 값을 상수로 정의할 수 있습니다. 상수를 정의하고 사용할 때 $ 기호를 사용할 필요가 없습니다.
상수 값은 고정된 값이어야 하며 변수, 클래스 속성, 수학 연산 또는 함수 호출의 결과일 수 없습니다.
인터페이스에서도 상수를 정의할 수 있습니다. 더 많은 예제를 보려면 설명서의 인터페이스 섹션을 참조하세요.
PHP 5.3.0부터 변수를 사용하여 클래스를 동적으로 호출할 수 있습니다. 그러나 이 변수의 값은 키워드(예: self, parent 또는 static)일 수 없습니다.
예제 #1 클래스 상수 정의 및 사용
<?php class MyClass { const constant = 'constant value'; function showConstant() { echo self::constant . "\n"; } } echo MyClass::constant . "\n"; $classname = "MyClass"; echo $classname::constant . "\n"; // 自 5.3.0 起 $class = new MyClass(); $class->showConstant(); echo $class::constant."\n"; // 自 PHP 5.3.0 起 ?>
예제 #2 정적 데이터 예
<?php class foo { // 自 PHP 5.3.0 起 const bar = <<<'EOT' bar EOT; } ?>
heredoc과 달리 nowdoc는 모든 정적 데이터에 사용할 수 있습니다.
참고:
Nowdoc 지원은 PHP 5.3.0에서 추가되었습니다.
참고: 다른 객체 지향 프로그래밍 언어와 달리 PHP에서는 클래스가 속성 변수에 최종 수정자를 사용할 수 없습니다.
속성을 상수로 선언하려면 const 키워드를 사용할 수 있으며 달러 기호를 변수 이름 접두어로 사용하거나 액세스 한정자를 사용할 필요가 없습니다. 상수는 변수에 접근할 수는 있지만 변수의 값을 수정할 수 없다는 의미입니다. 예를 들어, 다음 코드는 상수 속성 con_var을 선언합니다.
<?php class Foo{ const con_var="常量属性的值不能被修改<br />"; public function method_a(){ echo (self::con_var); } } echo(Foo::con_var); $myFoo=new Foo(); echo ($myFoo->method_a()); ?>
상수 속성은 객체를 사용하여 액세스할 수 없지만 클래스를 통해서만 액세스할 수 있습니다. 클래스 본문 내에서는 "self::constant name"을 사용할 수 있습니다. 클래스 본문에는 "클래스 이름"::상수 이름"을 사용할 수 있습니다.
위 내용은 PHP 클래스 상수를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!