Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 클래스 상수

<시간/>

소개

PHP는 클래스의 식별자가 클래스별로 변경되지 않은 상수 값을 갖도록 정의할 수 있습니다. 클래스 내에서 변수 또는 속성을 구별하기 위해 상수 이름 앞에 $ 기호가 붙지 않고 다음과 같이 정의됩니다. 상수 예선.

다른 수정자가 정의에 사용될 수 있지만 상수의 기본 가시성은 공개입니다. 상수의 값은 변수나 함수 호출/속성이 아닌 특정 표현식이어야 합니다. 범위 확인 연산자를 사용하여 클래스 이름을 통해 상수 값에 액세스합니다. self를 통해 참조할 수 있지만 메서드 내부 변수

구문

class SomeClass{
   const CONSTANT = 'constant value';
}
echo SomeClass::CONSTANT;

상수 이름은 대소문자를 구분합니다. 일반적으로 상수 이름은 대문자로 지정됩니다.

클래스 상수 예제

이 예제는 클래스 상수가 어떻게 정의되고 액세스되는지 보여줍니다.

예시

<?php
class square{
   const PI=M_PI;
   var $side=5;
   function area(){
      $area=$this->side**2*self::PI;
      return $area;
   }
}
$s1=new square();
echo "PI=". square::PI . "\n";
echo "area=" . $s1->area();
?>

출력

그러면 다음과 같은 결과가 생성됩니다. -

PI=3.1415926535898
area=78.539816339745

표현식으로서의 클래스 상수

이 예에서 클래스 상수에는 표현식이 할당됩니다.

예시

<?php
const X = 22;
const Y=7;
class square {
   const PI=X/Y;
   var $side=5;
   function area(){
      $area=$this->side**2*self::PI;
      return $area;
   }
}
$s1=new square();
echo "PI=". square::PI . "\n";
echo "area=" . $s1->area();
?>

외부

그러면 다음과 같은 결과가 생성됩니다. -

PI=3.1428571428571
area=78.571428571429

클래스 상수 가시성 수정자

예시

<?php
class example {
   const X=10;
   private const Y=20;
}
$s1=new example();
echo "public=". example::X. "\n";
echo "private=" . $s1->Y ."\n";
echo "private=" . $example::Y ."\n";
?>

출력

그러면 다음과 같은 결과가 생성됩니다. -

1public=10
PHP Notice: Undefined property: example::$Y in line 11
private=PHP Fatal error: Uncaught Error: Cannot access private const example::Y