>  기사  >  백엔드 개발  >  PHP에서 정적과 자체의 차이점

PHP에서 정적과 자체의 차이점

青灯夜游
青灯夜游앞으로
2020-04-02 09:43:422572검색

PHP에서 정적과 자체의 차이점

현재 메서드가 정의된 클래스에 따라 self:: 또는 __CLASS__를 사용하여 현재 클래스에 대한 정적 참조를 만듭니다.

static:: 사용은 더 이상 현재 메서드가 있는 클래스로 확인되지 않습니다. 정의되어 있지만 런타임에 계산되는 실제 클래스에 있습니다. 정적 메서드 호출에 사용할 수 있으므로(그러나 이에 국한되지는 않음) "정적 바인딩"이라고도 합니다.

정적 바인딩은 PHP 5.3.0입니다. 상속 범위에서 정적으로 호출되는 클래스를 참조하는 데 사용되는 함수가 추가되었습니다.

간단히 말하면

self가 작성된 클래스입니다. Class.

static은 사용된 클래스를 나타냅니다. 이는 상위 클래스에 작성한 정적이며 하위 클래스에 의해 재정의되고 하위 클래스의 메서드 또는 속성이 사용됩니다

<?php
class Person
{
    public static function name()
    {
        echo "111";
        echo "<br />";
    }
    public static function callself()
    {
        self::name();
    }

    public static function callstatic()
    {
        static::name();
    }
}

class Man extends Person
{
    public static function name()
    {
        echo "222";
        echo "<br />";
    }
}

Man::callself();  // output: 111
Man::callstatic();  // output: 222
?>

권장 사항: PHP 비디오 튜토리얼

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

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제