>  기사  >  백엔드 개발  >  PHP에서 정적 사용법은 무엇입니까

PHP에서 정적 사용법은 무엇입니까

WBOY
WBOY원래의
2022-02-14 11:22:042670검색

PHP에서는 멤버 속성과 멤버 메서드를 수정하는 데 정적 키워드가 사용됩니다. 클래스의 일반 멤버 앞에 정적 키워드를 추가하면 이 일반 멤버가 정적 멤버에 액세스하는 구문이 됩니다. :$정적 속성" 및 "클래스 이름::정적 메서드()".

PHP에서 정적 사용법은 무엇입니까

이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP에서 static의 사용법은 무엇입니까?

PHP에서는 멤버 속성과 멤버 메서드가 static으로 수정됩니다. 키워드는 정적 속성과 정적 메서드로 여기서는 집합적으로 정적 멤버라고 부를 수 있습니다. 클래스의 정적 멤버는 클래스의 일반 멤버와 다르므로 개체로 인스턴스화할 필요가 없습니다. 클래스를 인스턴스화하면 클래스를 통해 정적 멤버에 액세스할 수 있습니다.

클래스에서 정적 변수를 선언하는 것은 쉽습니다. 클래스의 일반 멤버 앞에 정적 키워드를 추가하여 이 일반 멤버를 정적 멤버로 바꿀 수 있습니다. 이런 방식으로 클래스를 인스턴스화하지 않고도 클래스의 정적 멤버에 직접 액세스할 수 있습니다. 정적 멤버에 액세스하기 위한 구문 형식은 다음과 같습니다.

类名::$静态属性
类名::静态方法()

:: 기호는 범위 확인 연산자라고 하며 정적 멤버, 정적 메서드 및 상수에 액세스하는 데 사용되며 수업.

클래스 내부 멤버 메서드의 정적 속성에 액세스하려면 정적 속성 이름 앞에 self:: 연산자를 추가하면 됩니다.

다음은 간단한 예를 통해 정적 멤버의 정의를 보여줍니다.

<?php
    class Website{
        static public $name = &#39;中文网<br>&#39;;
        public $title = &#39;PHP教程&#39;;
        public static function url(){
            echo self::$name;
            echo &#39;http://www.php.cn/<br>&#39;;
            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 &#39;$num 的值为:&#39;.self::$num;
            self::$num++;
        }
    }
    $num1 = new Website();
    $num1 -> add();
    echo &#39;<br>&#39;;
    $num2 = new Website();
    $num2 -> add();
?>

실행 결과는 다음과 같습니다.

$num 的值为:0
$num 的值为:1

정적 멤버는 객체를 인스턴스화할 필요가 없습니다. 클래스가 처음 로드될 때 메모리 공간이 할당되므로 정적 멤버를 직접 호출하는 것이 더 빠릅니다. 그러나 너무 많은 정적 멤버를 선언하면 공간을 항상 차지하게 되어 시스템 실행 속도에 영향을 미치게 됩니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 정적 사용법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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