>  기사  >  백엔드 개발  >  PHP 클래스 상수를 사용하는 방법은 무엇입니까?

PHP 클래스 상수를 사용하는 방법은 무엇입니까?

伊谢尔伦
伊谢尔伦원래의
2017-06-29 09:14:431470검색

클래스에서 항상 변하지 않는 값을 상수로 정의할 수 있습니다. 상수를 정의하고 사용할 때 $ 기호를 사용할 필요가 없습니다.

상수 값은 고정된 값이어야 하며 변수, 클래스 속성, 수학 연산 또는 함수 호출의 결과일 수 없습니다.

인터페이스에서도 상수를 정의할 수 있습니다. 더 많은 예제를 보려면 설명서의 인터페이스 섹션을 참조하세요.

PHP 5.3.0부터 변수를 사용하여 클래스를 동적으로 호출할 수 있습니다. 그러나 이 변수의 값은 키워드(예: self, parent 또는 static)일 수 없습니다.

예제 #1 클래스 상수 정의 및 사용

<?php
class MyClass
{
  const constant = &#39;constant value&#39;;
  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 = <<<&#39;EOT&#39;
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.