Heim  >  Artikel  >  Backend-Entwicklung  >  Die Verwendung von self und this in PHP

Die Verwendung von self und this in PHP

墨辰丷
墨辰丷Original
2018-05-09 14:38:363092Durchsuche

Die Funktionen von self und $this sind sehr ähnlich, aber unterschiedlich. $this kann nicht auf statische Elemente und Konstanten verweisen. self ähnelt eher der Klasse selbst und $this ähnelt eher der Instanz selbst.

1. self

1. self kann auf die statischen Eigenschaften und statischen Methoden in dieser Klasse zugreifen Statische Eigenschaften und statische Methoden in der übergeordneten Klasse. Wenn Sie self verwenden, müssen Sie

<?php  
class selfStuP{  
      static $instance;  
  
      public function __construct(){  
             self::$instance = &#39;instance&#39;; //静态属性只能通过self来访问  
      }  
  
      public function tank(){  
             return self::$instance;  //访问静态属性  
      }  
}  
  
$str = new selfStuP();  
echo $str->tank();  
echo "\n";  
?>

nicht instanziieren. Seitenausgabe: Instanz

<?php  
class selfStuP{  
      static $instance;  
  
      public function __construct(){  
             self::$instance = &#39;dell&#39;; //静态属性只能通过self来访问  
      }  
  
      static public function pentium(){  
             return self::$instance;  //静态方法也可以继续访问静态变量,访问时需  
要加$  
      }  
  
      public function tank(){  
             return self::pentium();  //访问静态属性  
      }  
}  
  
$str = new selfStuP();  
echo $str->tank();  
echo "\n";  
?>

2 kann auf Konstantendefinitionen zugreifen. Die Konstante

<?php  
class selfStuP{  
      const NAME = &#39;tancy&#39;;  
  
      public function tank(){  
             return self::NAME;  
      }  
}  
  
$str = new selfStuP();  
echo $str->tank();  
echo "\n";  
?>
Seitenausgabe: tancy

2.this

1.Das Aufrufen von Methoden und Attributen in dieser Klasse kann auch das Aufrufen einstellbarer Methoden und Attribute in der übergeordneten Klasse sein. Man kann sagen, dass mit Ausnahme von statischen und konstanten Konstanten im Grunde alles andere damit kontaktiert werden kann

<?php  
  
        class thisStu{  
              public $public;  
              private $private;  
              protected $protected;  
  
              public function __construct(){  
                     $this->public =  &#39;public&#39;;  
                     $this->private = &#39;private&#39;;  
                     $this->protected = &#39;protected&#39;;  
              }  
  
              public function tank(){  
                     return $this->public;  
              }  
  
              public function dell(){  
                     return $this->private;  
              }  
  
              public function datesrt(){  
                     return $this->protected;  
              }  
  
        }  
  
        $str = new thisStu();  
        echo $str->tank();  
        echo "\n";  
        echo $str->dell();  
        echo "\n";  
        echo $str->datesrt();  
        echo "\n";  
  
?>
Seitenausgabe:

öffentlich

privat

geschützt



Zusammenfassung:

In einem Satz ist self der Klassenname das bezieht sich auf die statische Klasse und $this ist der Instanzname, der sich auf die nicht statische Klasse bezieht.

Verwandte Empfehlungen:

Die Unterschiede zwischen self, static, $this in PHP und detaillierte Erklärung der späten statischen Bindung

Detaillierte Erläuterung der Verwendung von $this und Zugriffsqualifizierern in PHP

Detaillierte Erläuterung des Unterschieds zwischen self und $this in PHP

Das obige ist der detaillierte Inhalt vonDie Verwendung von self und this in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn