1. 클래스 상수: 클래스에서 항상 변경되지 않는 값은 상수
로 정의됩니다. 클래스의 상수는 공개되어 상속될 수 있으며 재정의될 수 있습니다. 클래스의 상수에 액세스하려면 이중 콜론::을 사용해야 합니다. 클래스 이름이나 클래스의 인스턴스를 사용하여 액세스할 수 있습니다. 상수이므로 이름에 $ 변수를 나타내는 기호를 사용할 수 없습니다. .
클래스에서 항상 변경되지 않는 값을 상수로 정의할 수 있습니다. 상수를 정의하고 사용할 때 $ 기호를 사용할 필요가 없습니다.
상수 값은 고정된 값이어야 하며 변수, 클래스 속성, 수학 연산 또는 함수 호출의 결과일 수 없습니다.
인터페이스에서도 상수를 정의할 수 있습니다. 더 많은 예제를 보려면 설명서의 인터페이스 섹션을 참조하세요.
PHP 5.3.0부터 변수를 사용하여 클래스를 동적으로 호출할 수 있습니다. 하지만 이 변수의 값은 키워드(예: self, parent 또는 static)일 수 없습니다.
구문: const 상수= 'constant';
class Myclass{ const constant = '常量'; //类内部调用 public function test(){ echo self::constant.'<br>'; } } Myclass::test(); //类外部访问 echo Myclass::constant.'<br>'; //方法一 $obj = new Myclass(); //方法二 echo $obj::constant.'<br>';
II.Static속성: 상수 구문인::을 사용하여 접근할 수 있는 변수이며, 인스턴스화 없이 접근할 수 있습니다
구문 : public static $my_static = '유사 상수';
class Myclass{ public static $static_val = '静态属性'; //类内部访问 public function test(){ return self::$static_val.'<br>'; } } //类外部访问 // echo Myclass::test(); echo Myclass::$static_val; //方法一 $obj = new Myclass(); //方法二 echo $obj::$static_val; echo $obj->test();
3. 비정적 속성: -> 기호를 사용하여 인스턴스화 후에 액세스할 수 있는 일반 변수
구문: public $my_val = 'normal Variable'
class Myclass{ public $normal_val = '非静态属性'; //类内部访问 public function test(){ return $this->normal_val ; } } //类外部访问 $obj = new Myclass(); echo $obj->normal_val; echo $obj->test();
클래스의 상수, 속성 및 메서드 목록을 가져오는 PHP 메서드
$r = new ReflectionClass($this); Zend_Debug::dump($r->getConstants(), "Constants"); Zend_Debug::dump($r->getProperties(), "Properties"); Zend_Debug::dump($r->getMethods(), "Methods");
위 내용은 PHP 클래스 상수, 정적 속성, 비정적 속성 간의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!