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

Jun 19, 2023 pm 11:22 PM
魔术方法 __construct __destruct

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Entmystifizierung der Python-Metaprogrammierung: von den Grundlagen bis zu fortgeschrittenen Paradigmen Entmystifizierung der Python-Metaprogrammierung: von den Grundlagen bis zu fortgeschrittenen Paradigmen Feb 19, 2024 pm 03:30 PM

Grundlagen der Python-Metaprogrammierung Python-Metaprogrammierung ist die Fähigkeit, Python-Code dynamisch zu manipulieren, was Python zu einer sehr leistungsfähigen Sprache macht. Metaprogrammierung kann auf folgende Weise implementiert werden: Klassendekorator: Ein Klassendekorator ist ein Dekorator, der die Definition einer Klasse ändert. Es kann zum Hinzufügen oder Ändern der Eigenschaften und Methoden einer Klasse verwendet werden und kann auch zur Steuerung des Instanziierungsprozesses einer Klasse verwendet werden. defadd_method_to_class(cls):defnew_method(self):print("Thisisanewmethod")setattr(cls,"new_method",new_method)returncls@a

Wie befolge ich die Ausführungsreihenfolge der magischen PHP-Methoden? Wie befolge ich die Ausführungsreihenfolge der magischen PHP-Methoden? Apr 17, 2024 pm 09:33 PM

Die Ausführungsreihenfolge von PHP-Magic-Methoden folgt den folgenden Regeln: Magic-Methoden mit hoher Priorität werden zuerst ausgeführt. Wenn sowohl die Unterklasse als auch die übergeordnete Klasse magische Methoden mit demselben Namen definieren, wird die magische Methode der Unterklasse zuerst ausgeführt. Wenn eine Klasse sowohl eine reguläre Methode als auch eine magische Methode mit demselben Namen definiert, wird die reguläre Methode zuerst ausgeführt.

Was ist eine magische Methode? So verwenden Sie es in Laravel Was ist eine magische Methode? So verwenden Sie es in Laravel Sep 26, 2022 pm 08:21 PM

Was ist eine magische Methode? Wie verwende ich es in Laravel? Der folgende Artikel stellt Ihnen vor, wie Sie PHP-Zaubermethoden in Laravel anwenden. Ich hoffe, er wird Ihnen hilfreich sein!

PHP-Entwicklung: Verwenden Sie Reflexions- und Zaubermethoden, um eine automatische Codegenerierung und einen dynamischen Aufruf zu erreichen PHP-Entwicklung: Verwenden Sie Reflexions- und Zaubermethoden, um eine automatische Codegenerierung und einen dynamischen Aufruf zu erreichen Jun 15, 2023 pm 04:16 PM

In der PHP-Entwicklung sind Reflection- und Magic-Methoden zwei häufig verwendete Techniken. Wenn wir automatisch Code generieren oder bestimmte Funktionen dynamisch aufrufen müssen, können Reflexions- und magische Methoden unseren Code flexibler und effizienter machen. In diesem Artikel untersuchen wir, wie man mithilfe von Reflektion und magischen Methoden eine automatische Codegenerierung und einen dynamischen Aufruf erreicht. Reflection ist ein leistungsstarkes Tool von PHP, mit dem wir Informationen wie Klassen, Methoden und Eigenschaften abrufen können, wenn das Programm ausgeführt wird. Durch Reflexion können wir dynamisch Informationen wie Methoden, Eigenschaften und Anmerkungen einer Klasse oder eines Objekts erhalten

Magische Methoden für PHP-Funktionen Magische Methoden für PHP-Funktionen May 19, 2023 am 08:06 AM

PHP ist eine serverseitige Skriptsprache, die auf der C-Sprache basiert und in der Webentwicklung weit verbreitet ist. Funktionen sind eine der grundlegendsten und am häufigsten verwendeten Komponenten in Programmen. PHP bietet außerdem viele magische Methoden im Zusammenhang mit Funktionen, die Entwicklern helfen können, Funktionen besser zu nutzen. In diesem Artikel stellen wir die magischen Methoden von PHP-Funktionen und deren Verwendung vor. __construct()__construct() ist eine der am häufigsten verwendeten magischen Methoden in PHP. Sie wird automatisch aufgerufen, wenn ein Objekt zur Initialisierung erstellt wird.

Führen Sie Sie durch 16 magische PHP-Methoden Führen Sie Sie durch 16 magische PHP-Methoden May 16, 2022 pm 08:45 PM

Was ist eine magische Methode? Dieser Artikel führt Sie durch 16 magische Methoden, die PHP-Entwickler kennen und kennen müssen. Ich hoffe, er wird Ihnen hilfreich sein!

Was macht die PHP-Magic-Methode? Was macht die PHP-Magic-Methode? Feb 20, 2021 pm 04:37 PM

Die Funktionen der magischen PHP-Methoden: 1. „__construct()“ wird automatisch aufgerufen, wenn ein Objekt instanziiert wird. 2. „__destruct()“ wird automatisch aufgerufen, wenn das Objekt zerstört wird oder die Skriptausführung endet. ruft eine Methode auf, die für das Objekt nicht vorhanden ist. Wird automatisch aufgerufen, wenn 4. „__get()“ automatisch aufgerufen wird, wenn nicht vorhandene Attribute des Objekts abgerufen werden. 5. „__set()“ wird automatisch aufgerufen, wenn nicht vorhandene Attribute festgelegt werden 6. „__isset()“ erkennt ein bestimmtes Attribut des Objekts. Wird automatisch aufgerufen, wenn das Attribut vorhanden ist usw.

PHP-Expertentipps: Beherrschen Sie versteckte Funktionen und magische Methoden PHP-Expertentipps: Beherrschen Sie versteckte Funktionen und magische Methoden May 09, 2024 am 10:09 AM

Versteckte Funktionen und magische Methoden in PHP wie CLASS und __call() bieten leistungsstarke Funktionen zur Verbesserung der Codeflexibilität: Versteckte Funktionen führen spezielle Vorgänge aus, beispielsweise das Abrufen von Namespaces und Dateipfaden. Magische Methoden behandeln Sonderfälle wie undefinierte Methodenaufrufe. Benutzerdefinierte Ausnahmebehandlung und vereinfachtes Lesen von Eigenschaften sind praktische Beispiele. Verwenden Sie diese Tipps, um flexibleren und prägnanteren PHP-Code zu schreiben.

See all articles