이 글은 주로 PHP에서 static과 const 키워드의 사용법을 소개하고 있으며, 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에서 static 및 const 키워드 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!