PHP에서는 멤버 속성과 멤버 메서드를 수정하는 데 정적 키워드가 사용됩니다. 클래스의 일반 멤버 앞에 정적 키워드를 추가하면 이 일반 멤버가 정적 멤버에 액세스하는 구문이 됩니다. :$정적 속성" 및 "클래스 이름::정적 메서드()".
이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP에서는 멤버 속성과 멤버 메서드가 static으로 수정됩니다. 키워드는 정적 속성과 정적 메서드로 여기서는 집합적으로 정적 멤버라고 부를 수 있습니다. 클래스의 정적 멤버는 클래스의 일반 멤버와 다르므로 개체로 인스턴스화할 필요가 없습니다. 클래스를 인스턴스화하면 클래스를 통해 정적 멤버에 액세스할 수 있습니다.
클래스에서 정적 변수를 선언하는 것은 쉽습니다. 클래스의 일반 멤버 앞에 정적 키워드를 추가하여 이 일반 멤버를 정적 멤버로 바꿀 수 있습니다. 이런 방식으로 클래스를 인스턴스화하지 않고도 클래스의 정적 멤버에 직접 액세스할 수 있습니다. 정적 멤버에 액세스하기 위한 구문 형식은 다음과 같습니다.
类名::$静态属性 类名::静态方法()
:: 기호는 범위 확인 연산자라고 하며 정적 멤버, 정적 메서드 및 상수에 액세스하는 데 사용되며 수업.
클래스 내부 멤버 메서드의 정적 속성에 액세스하려면 정적 속성 이름 앞에 self:: 연산자를 추가하면 됩니다.
다음은 간단한 예를 통해 정적 멤버의 정의를 보여줍니다.
<?php class Website{ static public $name = '中文网<br>'; public $title = 'PHP教程'; public static function url(){ echo self::$name; echo 'http://www.php.cn/<br>'; echo $this -> title; } } Website::url(); ?>
실행 결과는 다음과 같습니다.
中文网 http://www.php.cn/ Fatal error: Uncaught Error: Using $this when not in object context ……
참고: 정적 메서드에서는 정적 변수만 호출할 수 있으며 일반 변수는 호출할 수 없습니다. 메소드는 정적 변수를 호출할 수 있습니다.
정적 멤버를 사용하면 개체를 인스턴스화할 필요가 없는 것 외에도 개체가 삭제된 후에도 수정된 정적 데이터를 저장하여 다음에 사용할 수 있도록 하는 기능이 있습니다. 이는 우리가 소개한 정적 변수와 유사합니다. 더 일찍.
【예제】 정적 변수 $num을 선언한 다음 메서드를 선언하고 메서드 내부에서 정적 변수를 호출한 다음 변수 값에 1을 더한 다음 클래스에서 개체를 인스턴스화하고 마지막으로 메서드를 호출합니다. 수업.
<?php class Website{ static public $num = 0; public function add(){ echo '$num 的值为:'.self::$num; self::$num++; } } $num1 = new Website(); $num1 -> add(); echo '<br>'; $num2 = new Website(); $num2 -> add(); ?>
실행 결과는 다음과 같습니다.
$num 的值为:0 $num 的值为:1
정적 멤버는 객체를 인스턴스화할 필요가 없습니다. 클래스가 처음 로드될 때 메모리 공간이 할당되므로 정적 멤버를 직접 호출하는 것이 더 빠릅니다. 그러나 너무 많은 정적 멤버를 선언하면 공간을 항상 차지하게 되어 시스템 실행 속도에 영향을 미치게 됩니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 정적 사용법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!