Heim Backend-Entwicklung PHP-Problem Was bedeutet PHP-Unterstrich?

Was bedeutet PHP-Unterstrich?

Jan 19, 2022 am 09:47 AM
php 下划线

Ein Unterstrich in PHP steht für private Variablen und private Methoden, und zwei Unterstriche sind in PHP integrierte Variablen. PHP legt beispielsweise fest, dass Methoden, die mit zwei Unterstrichen beginnen, als magische Methoden reserviert sind. Daher wird empfohlen, dass Ihre Funktionsnamen dies nicht tun Beginnen Sie mit __ , es sei denn, es geht darum, eine vorhandene magische Methode zu überladen.

Was bedeutet PHP-Unterstrich?

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Was bedeutet der PHP-Unterstrich?

Die Bedeutung von Variablen, die in PHP mit einem Unterstrich beginnen

Benennung Regeln

Eins hinzufügen Für privat

ist das Hinzufügen von zwei im Allgemeinen die Systemstandardeinstellung und wird vom System vordefiniert, dh das sogenannte:

================= =====

„Magische“ Methoden“ und „Magische Konstanten“

======================

★PHP-Konstanten, die mit beginnen und enden Doppelte Unterstriche sind „magische Konstanten“:

__LINE_ _Die aktuelle Zeilennummer in der Datei.

__FILE__Der vollständige Pfad und Dateiname der Datei.

__DIR__Das Verzeichnis, in dem sich die Datei befindet. Bei Verwendung innerhalb einer eingebundenen Datei wird das Verzeichnis zurückgegeben, in dem sich die eingebundene Datei befindet. Es entspricht dirname(__FILE__). Sofern es sich nicht um das Stammverzeichnis handelt, enthält der Name im Verzeichnis keinen abschließenden Schrägstrich

Hinweis: Der obige Inhalt stammt aus „PHP Chinese Manual->Language Reference->Constant->Magic Constant“.

Ab PHP5 und späteren Versionen können PHP-Klassen magische Methoden verwenden.

PHP legt fest, dass Methoden, die mit zwei Unterstrichen (__) beginnen, als magische Methoden reserviert sind. Daher wird empfohlen, dass Ihr Funktionsname nicht mit __ beginnt, es sei denn, er soll eine vorhandene magische Methode überladen.

Die magischen Methoden in PHP sind: __construct, __destruct, __call, __callStatic, __get, __set, __isset, __unset, __sleep, __wakeup, __toString, __set_state, __clone, __autoload

1, __get, __set

Diese beiden Methoden sind entworfen für Eigenschaften, die nicht in Klassen und ihren Superklassen deklariert sind

__get( $property ) Diese Methode wird ausgelöst, wenn eine undefinierte Eigenschaft aufgerufen wird, und übergibt den Namen der Eigenschaft, auf die zugegriffen wird

__set ($property, $value) Beim Zuweisen eines Werts zu Wenn es sich um eine undefinierte Eigenschaft handelt, werden bei dieser Methode der festgelegte Eigenschaftsname und der Wert angegeben, bei dem die Zugriffskontrolle geschützt ist Zugriffserlaubnis).

2, __isset, __unset

__isset( $property ) Diese Methode wird aufgerufen, wenn die Funktion isset() für eine undefinierte Eigenschaft aufgerufen wird

__unset( $property ) Wenn unset() für eine undefinierte Eigenschaft aufgerufen wird. Diese Methode ist Wird während einer Funktion aufgerufen

Das Gleiche wie die __get-Methode und die __set-Methode. Die hier nicht deklarierten Attribute umfassen geschützte und private Attribute (d. h. Attribute ohne Zugriffsberechtigung), wenn sie mit einem Objekt aufgerufen werden

3 __call( $method, $arg_array ) Diese Methode wird aufgerufen, wenn eine undefinierte Methode aufgerufen wird

Die undefinierten Methoden hier umfassen Methoden, die keine Zugriffsberechtigung haben; wenn die Methode nicht vorhanden ist, gehen Sie zur übergeordneten Klasse, um die Methode zu finden. Wenn die übergeordnete Klasse nicht vorhanden ist, rufen Sie die Methode __call() dieser Klasse auf. Wenn die Methode __call() in dieser Klasse nicht vorhanden ist, wechseln Sie zur Methode __call() der übergeordneten Klasse

4. __autoload

__autoload Funktion, die automatisch aufgerufen wird, wenn versucht wird, eine Klasse zu verwenden, die noch nicht definiert wurde. Durch den Aufruf dieser Funktion hat die Skript-Engine eine letzte Chance, die erforderlichen Klassen zu laden, bevor PHP mit einem Fehler abstürzt.

Wenn Sie eine globale Autoloading-Klasse definieren möchten, müssen Sie die Methode spl_autoload_register() verwenden, um die Verarbeitungsklasse in der PHP-Standardbibliothek zu registrieren:

<?php  
class Loader  
{  
static function autoload_class($class_name)  
{  
//寻找正确的$class_name类,并引入,没有则抛出异常  
}  
}  
  
/** 
*  设置对象的自动载入 
*  spl_autoload_register — Register given function as __autoload() implementation 
*/  
spl_autoload_register(array(&#39;Loader&#39;, &#39;autoload_class&#39;));  
  
$a = new Test();//Test没用require就实例化,实现自动加载,很多框架就用这种方法自动加载类  
  
?>
Nach dem Login kopieren

Hinweis: In der __autoload-Funktion ausgelöste Ausnahmen können nicht vom Catch-Anweisungsblock abgefangen werden und einen schwerwiegenden Fehler verursachen, daher sollte er in der Funktion selbst abgefangen werden.

5, __construct, __destruct

__construct Konstruktormethode, diese Methode wird aufgerufen, wenn ein Objekt erstellt wird. Der Vorteil der Verwendung dieser Methode im Vergleich zu PHP4 besteht darin, dass die Konstruktormethode unabhängig vom Namen der Klasse einen eindeutigen Namen haben kann Wenn Sie also den Namen der Klasse ändern, müssen Sie den Namen der Konstruktormethode nicht ändern. PHP ruft diese Methode auf, bevor das Objekt zerstört wird , bevor es aus dem Speicher gelöscht wird). Standardmäßig gibt PHP nur den von Objekteigenschaften belegten Speicher frei und zerstört objektbezogene Ressourcen. Mit dem Destruktor können Sie beliebigen Code ausführen, um den Speicher nach der Verwendung eines Objekts zu löschen. Wenn PHP entscheidet, dass Ihr Skript nicht mehr mit dem Objekt verknüpft ist, wird der Destruktor aufgerufen.

Im Namensraum einer Funktion geschieht dies, wenn die Funktion zurückkehrt.

Bei globalen Variablen geschieht dies am Ende des Skripts.

Wenn Sie ein Objekt explizit zerstören möchten, können Sie der Variablen, die auf das Objekt zeigt, einen beliebigen anderen Wert zuweisen oder unset 6, __clone

Object-Zuweisung verwenden Wenn Sie ein Objekt kopieren möchten, müssen Sie die Klonmethode verwenden. Wenn diese Methode aufgerufen wird, ruft das Objekt automatisch die magische Methode __clone auf. Wenn beim Kopieren des Objekts einige Initialisierungsvorgänge ausgeführt werden müssen in der __clone-Methode.

7. Die Methode __toString

__toString wird automatisch aufgerufen, wenn ein Objekt in einen String konvertiert wird, beispielsweise wenn Echo zum Drucken des Objekts verwendet wird.

Wenn die Klasse diese Methode nicht implementiert, kann das Objekt nicht über Echo gedruckt werden, andernfalls wird Folgendes angezeigt: Abfangbarer schwerwiegender Fehler: Das Objekt des Klassentests konnte in nicht in einen String konvertiert werden

Diese Methode muss einen String zurückgeben.

Vor PHP 5.2.0 kann die __toString-Methode nur wirksam werden, wenn sie in Verbindung mit echo() oder print() verwendet wird. Nach PHP 5.2.0 kann es in jeder String-Umgebung wirksam werden (z. B. über printf() unter Verwendung des Modifikators %s), kann jedoch nicht in Nicht-String-Umgebungen verwendet werden (z. B. unter Verwendung des Modifikators %d). Wenn ab PHP 5.2.0 ein Objekt, das die Methode __toString nicht definiert, in einen String konvertiert wird, wird ein E_RECOVERABLE_ERROR-Fehler gemeldet.

8, __sleep, __wakeup

__sleep Verwenden Sie beim Serialisieren

__wakeup. Rufen Sie beim Deserialisieren

serialize() auf, um zu überprüfen, ob es in der Klasse eine Funktion mit dem magischen Namen __sleep gibt. Wenn dies der Fall ist, wird die Funktion vor der Serialisierung ausgeführt. Es löscht das Objekt und sollte ein Array zurückgeben, das die Namen aller Variablen im Objekt enthält, die serialisiert werden sollen.

Der Zweck der Verwendung von __sleep besteht darin, alle Datenbankverbindungen des Objekts zu schließen, ausstehende Daten zu übermitteln oder ähnliche Bereinigungsaufgaben durchzuführen. Darüber hinaus ist diese Funktion nützlich, wenn Sie sehr große Objekte haben, die nicht vollständig eingelagert werden müssen.

Im Gegensatz dazu prüft unserialize() die Existenz einer Funktion mit dem magischen Namen __wakeup. Diese Funktion kann alle Ressourcen rekonstruieren, über die das Objekt verfügt, sofern vorhanden.

Der Zweck der Verwendung von __wakeup besteht darin, alle Datenbankverbindungen wiederherzustellen, die möglicherweise während der Serialisierung verloren gegangen sind, und andere Neuinitialisierungsaufgaben zu erledigen.

9. __set_state

Wenn var_export() aufgerufen wird, wird diese statische Methode aufgerufen (gültig seit PHP 5.1.0).

Der einzige Parameter dieser Methode ist ein Array, das Klasseneigenschaften enthält, die im Array-Format angeordnet sind („Eigenschaft“ => Wert, …).

10. __invoke

Beim Versuch, ein Objekt durch Aufrufen einer Funktion aufzurufen, wird die __invoke-Methode automatisch aufgerufen.

PHP5.3.0 und höher sind gültig

11. __callStatic

Es funktioniert ähnlich wie die magische Methode __call(), __callStatic() dient der Verarbeitung statischer Methodenaufrufe,

PHP5.3.0 und höher ist gültig

PHP Indeed Strengthened die Definition der Methode __callStatic(); sie muss öffentlich sein und als statisch deklariert werden. Ebenso muss die magische Methode __call() wie alle anderen magischen Methoden als öffentlich definiert werden.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas bedeutet PHP-Unterstrich?. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles