Heim > Backend-Entwicklung > PHP-Tutorial > Magische Methoden: __construct, __destruct und andere Kernmethoden in PHP verstehen

Magische Methoden: __construct, __destruct und andere Kernmethoden in PHP verstehen

PHPz
Freigeben: 2023-06-20 06:02:01
Original
1327 Leute haben es durchsucht

Magische Methoden: Grundlegende Methoden wie __construct und __destruct in PHP verstehen

In der PHP-Sprache gibt es einige spezielle Methoden, die „magische Methoden“ genannt werden, darunter __construct, __destruct usw. Diese Methoden spielen eine wichtige Rolle bei der objektorientierten Programmierung in PHP. In diesem Artikel werden die Rolle und die praktische Anwendung dieser Methoden erläutert.

__construct-Methode

__construct-Methode ist eine sehr wichtige Methode. Sie wird automatisch aufgerufen, wenn PHP ein neues Objekt erstellt. Mit dieser Methode können wir einige Initialisierungsarbeiten durchführen, z. B. das Festlegen von Standardwerten für die Eigenschaften des Objekts, das Herstellen einer Verbindung zur Datenbank usw. Wenn wir diese Methode nicht definieren, tritt außerdem beim Instanziieren der Klasse ein Fehler auf.

Das Folgende ist ein Beispielcode:

class Person{
  public $name;
  public $age;
  
  function __construct($name, $age){
    $this->name = $name;
    $this->age = $age;
  }
  
  function showInfo(){
    echo "姓名:" . $this->name . " 年龄:" . $this->age;
  }
}

$person = new Person("张三", 20);
$person->showInfo();
Nach dem Login kopieren

Im obigen Code definieren wir eine Klasse namens Person und definieren eine __construct-Methode in der Klasse, um die Namens- und Altersattribute zu initialisieren. Bei der Instanziierung der Person-Klasse übergeben wir „Zhang San“ und 20 als Parameter, sodass persönliche Informationen über die Methode $person->showInfo() ausgegeben werden können.

__destruct-Methode

__destruct-Methode ist eine Methode, die automatisch aufgerufen wird, wenn das Objekt zerstört wird. Mit dieser Methode können wir einige Aufräumarbeiten durchführen, z. B. einige belegte Ressourcen freigeben usw. Wenn wir diese Methode nicht definieren, tritt ebenfalls ein Fehler auf, wenn das Objekt zerstört wird.

Das Folgende ist ein Beispielcode:

class Car{
  public $brand;
  
  function __construct($brand){
    $this->brand = $brand;
  }
  
  function run(){
    echo "我开着" . $this->brand . "在马路上飞奔!";
  }
  
  function __destruct(){
    echo $this->brand . "被销毁了!";
  }
}

$car = new Car("宝马");
$car->run();
Nach dem Login kopieren

Im obigen Code definieren wir eine Klasse namens Car und eine __destruct-Methode in der Klasse, um Informationen auszugeben, wenn ein Fahrzeug zerstört wird. Nachdem wir die Car-Klasse instanziiert haben, rufen wir die Methode $car->run() auf, um die Fahrzeuginformationen auszugeben, und geben am Ende die Zerstörungsinformationen aus.

__call method

__call method ist eine Methode, die automatisch aufgerufen wird, wenn eine Methode aufgerufen wird, die in der Klasse nicht vorhanden ist. Bei dieser Methode können wir eine Methode dynamisch aufrufen und Parameter übergeben. Diese Methode eignet sich sehr gut für den Umgang mit einigen unsicheren Situationen während der Entwicklung, z. B. dem dynamischen Aufruf von Datenbankbetriebsmethoden.

Das Folgende ist ein Beispielcode:

class Database{
  private $db;
  
  function __construct($host, $user, $password, $dbName){
    $this->db = new mysqli($host, $user, $password, $dbName);
  }
  
  function __call($method, $args){
    if(method_exists($this->db, $method)){
      return call_user_func_array([$this->db, $method], $args);
    }else{
      die("没有找到" . $method . "方法!");
    }
  }
}

$database = new Database("localhost", "root", "password", "test");
$res = $database->query("SELECT * FROM users");

while($row = $res->fetch_assoc()){
  echo $row['name'];
}
Nach dem Login kopieren

Im obigen Code definieren wir eine Klasse namens Database und eine __call-Methode in der Klasse, um die Methode der MySQL-Klasse dynamisch aufzurufen. Wenn wir die Datenbankklasse instanziieren und die Abfragemethode aufrufen, wird die query()-Methode in der MySQL-Klasse tatsächlich dynamisch aufgerufen.

Fazit

In der PHP-Sprache stellen uns magische Methoden viele nützliche Werkzeuge zur Verfügung, z. B. die __construct-Methode zum Initialisieren von Objekten, die __destruct-Methode zum Bereinigen und die __call-Methode zum dynamischen Aufrufen von Methoden usw. Die Beherrschung dieser Methoden ist für die objektorientierte Programmierung in PHP sehr wichtig.

Das obige ist der detaillierte Inhalt vonMagische Methoden: __construct, __destruct und andere Kernmethoden in PHP verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage