>  기사  >  백엔드 개발  >  PHP에서 static 및 const 키워드 사용

PHP에서 static 및 const 키워드 사용

墨辰丷
墨辰丷원래의
2018-05-29 17:08:511403검색

이 글은 주로 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 = &#39;constant value&#39;;
 function showConstant(){
  //方法中调用常量,没有$
  echo self::constant."<br>";
 }
}
//类直接调用,没有$
echo MyClass::constant."<br>";
$class = new MyClass();
$class ->showConstant();
?>

위 내용은 이 글의 전체 내용이며, 모든 분들의 공부에 도움이 되길 바랍니다.


관련 권장사항:

php 코드 최적화

php 다중 상속의 여러 방법

php-fpm.conf 구성 지침

위 내용은 PHP에서 static 및 const 키워드 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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