이 기사의 예에서는 PHP에서 static 및 const 키워드의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
클래스의 static 키워드로 설명하는 멤버 속성과 멤버 함수는 모두 정적입니다.
정적 멤버는 객체 인스턴스가 아닌 클래스에 속하므로 외부 액세스를 제한할 수 있습니다.
메모리 관점에서 개체는 "힙 메모리"에 배치되고 개체에 대한 참조는 "스택 메모리"에 배치되며 정적 멤버는 로드 시 초기화 정적 세그먼트에 추가됩니다. 메모리의 모든 객체가 공유할 수 있습니다. 아래 그림과 같이:
<?php class Person{ public static $myCountry = "中国"; public static function say(){ echo "我的祖国是:".self::$myCountry."<br>"; } } //输出静态属性 echo Person::$myCountry."<br>"; //调用静态方法 Person::say(); //修改静态属性 Person::$myCountry = "中国-江苏"; echo Person::$myCountry."<br>"; ?>
출력 결과는 다음과 같습니다.
中国 我的祖国是:中国 中国-江苏
클래스의 정적 메서드는 클래스의 정적 속성에만 액세스할 수 있습니다. 수업. 클래스의 정적 메서드는 클래스의 비정적 멤버에 액세스할 수 없습니다. self를 사용하여 클래스의 정적 속성에 액세스합니다. self는 self가 정적 메서드가 있는 클래스를 나타낸다는 점을 제외하면 이와 유사합니다. 이는 self가 정적 메서드가 있는 클래스를 나타낸다는 점을 제외하고는 이 메서드를 호출하는 개체를 나타냅니다. . 정적 메서드는 개체와 함께 호출되지 않으므로 이 참조가 없습니다. 이에 대한 언급은 없습니다. 이것이 없으면 클래스의 다른 멤버 속성을 호출할 수 없습니다.
const는 상수를 정의하는 키워드입니다. Const는 클래스에서 상수를 정의하는 데 자주 사용됩니다. "const"로 수정된 멤버 속성의 액세스 방법은 "static"으로 수정된 멤버의 액세스 방법과 유사하며 메소드에서 "클래스 이름" 및 "self" 키워드도 사용합니다. 그러나 "$" 기호를 사용할 필요는 없으며 객체를 사용하여 이에 액세스할 수 없습니다.
<?php class MyClass{ const constant = 'constant value'; function showConstant(){ //方法中调用常量,没有$ echo self::constant."<br>"; } } //类直接调用,没有$ echo MyClass::constant."<br>"; $class = new MyClass(); $class ->showConstant(); ?>
이 글이 PHP 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.
PHP에서 static 및 const 키워드 사용 분석과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!