Heim Backend-Entwicklung PHP-Tutorial Es wird empfohlen, include_once (require_once) so oft wie möglich nicht zu verwenden

Es wird empfohlen, include_once (require_once) so oft wie möglich nicht zu verwenden

Jun 25, 2017 am 11:54 AM
include 使用 建议

Dieser Artikel ist eine detaillierte Analyse und Einführung in die Gründe, warum Sie (include/require)_once nicht verwenden sollten. Freunde in Not können sich auf

beziehen Über die Verwendung von Include oder include_once (im Folgenden: alle include require_once) Diese Diskussion war lang und die Schlussfolgerung war immer, dass include anstelle von include_once verwendet werden sollte Der häufigste Grund war, dass include_once die geladene Dateiliste abfragen, bestätigen, ob sie existiert, und sie dann erneut laden muss.

Zugegebenermaßen ist dieser Grund richtig, aber worüber ich sprechen möchte Heute ist ein weiterer Grund.

Wir wissen, dass PHP den open_path der Datei abrufen muss, um festzustellen, ob eine Datei geladen ist, was zum Beispiel bedeutet:

Code kopieren Der Code lautet wie folgt:

<?php
set_include_path
("/tmp/:/tmp2/");
include_once("2.php");
?>
Nach dem Login kopieren


Wenn PHP include_once „2.php“ sieht, weiß es nicht, was der tatsächliche Pfad dieser Datei ist, und Es kann nicht aus der geladenen Dateiliste abgerufen werden, um festzustellen, ob sie geladen wurde. Daher wird bei der Implementierung von include_once zunächst versucht, den tatsächlichen Pfad der Datei zu analysieren (bei normalen Dateien ähnelt diese Analyse der Überprüfung von getcwd und der Dateipfad, wenn es sich also um einen relativen Pfad handelt, ist dies im Allgemeinen nicht möglich. Wenn die Analyse erfolgreich ist, suchen Sie nach EG (include_files). file, um den open_path der Datei abzurufen. Im obigen Beispiel existiert diese Datei beispielsweise in „/tmp2/2.php“.

Dann geht PHP nach dem Abrufen des open_path zur Liste der geladenen Dateien Um herauszufinden, ob es enthalten ist, kompilieren Sie es direkt und es ist nicht mehr erforderlich, die Datei zu öffnen.

1 Versuchen Sie, den absoluten Pfad der Datei zu analysieren. Wenn das Parsen erfolgreich ist, überprüfen Sie EG (included_files), kehren Sie zurück, wenn es nicht existiert.
Öffnen Sie die Datei und rufen Sie den offenen Pfad ab.
3 an EG (included_files), um herauszufinden, ob sie existiert. Wenn sie nicht existiert, fahren Sie mit der Kompilierung der Datei (compile_file) fort.

Dies wird in den meisten Fällen verwendet Als nächstes ist es kein Problem, aber das Problem liegt bei der Verwendung von APC...

Bei der Verwendung von APC entführt APC den Compile_File-Zeiger der kompilierten Datei und erhält so das Kompilierungsergebnis direkt aus dem Cache Die Notwendigkeit, die eigentliche Datei zu öffnen, vermeidet den Systemaufruf zum Öffnen.

Wenn Sie jedoch include_once im Code verwenden, hat PHP vor der Kompilierung der Datei bereits versucht, die Datei zu öffnen, und ist dann in den entführten Prozess eingetreten Durch die Kompilierung der APC-Datei wird ein zusätzlicher Öffnungsvorgang generiert. Wenn include_once_override aktiviert ist, übernimmt APC den ZEND_INCLUDE_OR_EVAL-Opcode-Handler und ermittelt den absoluten Pfad der Datei Wenn festgestellt wird, dass es nicht geladen wurde, schreiben Sie den Opcode neu, um ihn einzuschließen, und finden Sie eine knifflige Lösung.

Aber leider war die include_once_override-Implementierung von APC, wie gesagt, nicht gut, daher wird es einige undefinierte geben Probleme wie:


Code kopierenDer Code lautet wie folgt:

<?php
set_include_path("/tmp");
function a($arg = array()) {
    include_once("b.php");
}
a();
a();
?>
Nach dem Login kopieren

Dann wird unser b.php in „ /tmp/b.php“, der Inhalt lautet wie folgt:

Der Code lautet wie folgt:

<?php
  class B {}
?>
Nach dem Login kopieren

Wenn dann apc.include_once_override aktiviert ist, Bei kontinuierlichem Zugriff erhalte ich die folgende Fehlermeldung:

Fatal error - include() : Cannot redeclare class b

Abgesehen von diesen technischen Faktoren habe ich immer gedacht, dass wir include anstelle von include_once verwenden sollten. weil wir die Planung vollständig selbst durchführen können und eine Datei nur einmal geladen wird. Sie können dazu auch

automatisches Laden verwenden.

Wenn Sie include_once verwenden, beweist dies nur, dass Sie dies getan haben Keine Kontrolle über Ihren Code.

Daher empfehle ich Ihnen, include_once nicht zu verwenden

Das obige ist der detaillierte Inhalt vonEs wird empfohlen, include_once (require_once) so oft wie möglich nicht zu verwenden. 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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen 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)

So verwenden Sie Magnetlinks So verwenden Sie Magnetlinks Feb 18, 2024 am 10:02 AM

Magnet-Link ist eine Link-Methode zum Herunterladen von Ressourcen, die bequemer und effizienter ist als herkömmliche Download-Methoden. Mit Magnet-Links können Sie Ressourcen im Peer-to-Peer-Verfahren herunterladen, ohne auf einen Zwischenserver angewiesen zu sein. In diesem Artikel erfahren Sie, wie Sie Magnetlinks verwenden und worauf Sie achten sollten. 1. Was ist ein Magnet-Link? Ein Magnet-Link ist eine Download-Methode, die auf dem P2P-Protokoll (Peer-to-Peer) basiert. Über Magnet-Links können Benutzer eine direkte Verbindung zum Herausgeber der Ressource herstellen, um die gemeinsame Nutzung und das Herunterladen von Ressourcen abzuschließen. Im Vergleich zu herkömmlichen Download-Methoden magnetisch

So verwenden Sie MDF- und MDS-Dateien So verwenden Sie MDF- und MDS-Dateien Feb 19, 2024 pm 05:36 PM

Verwendung von MDF- und MDS-Dateien Dank der kontinuierlichen Weiterentwicklung der Computertechnologie können wir Daten auf vielfältige Weise speichern und teilen. Im Bereich digitaler Medien stoßen wir häufig auf spezielle Dateiformate. In diesem Artikel besprechen wir ein gängiges Dateiformat – MDF- und MDS-Dateien – und stellen deren Verwendung vor. Zuerst müssen wir die Bedeutung von MDF-Dateien und MDS-Dateien verstehen. mdf ist die Erweiterung der CD/DVD-Imagedatei und die mds-Datei ist die Metadatendatei der mdf-Datei.

Mar 18, 2024 pm 02:58 PM

CrystalDiskMark ist ein kleines HDD-Benchmark-Tool für Festplatten, das schnell sequentielle und zufällige Lese-/Schreibgeschwindigkeiten misst. Lassen Sie sich als Nächstes vom Redakteur CrystalDiskMark und die Verwendung von CrystalDiskMark vorstellen ). Zufällige I/O-Leistung. Es ist eine kostenlose Windows-Anwendung und bietet eine benutzerfreundliche Oberfläche und verschiedene Testmodi zur Bewertung verschiedener Aspekte der Festplattenleistung. Sie wird häufig in Hardware-Reviews verwendet

Mar 18, 2024 am 10:58 AM

foobar2000 ist eine Software, die Ihnen jederzeit Musik aller Art mit verlustfreier Klangqualität bietet Spielen Sie das erweiterte Audio auf dem Computer ab, um ein bequemeres und effizienteres Musikwiedergabeerlebnis zu ermöglichen. Das Interface-Design ist einfach, klar und benutzerfreundlich. Es nimmt einen minimalistischen Designstil an, ohne übermäßige Dekoration Es unterstützt außerdem eine Vielzahl von Skins und Themes, personalisiert Einstellungen nach Ihren eigenen Vorlieben und erstellt einen exklusiven Musikplayer, der die Wiedergabe mehrerer Audioformate unterstützt. Außerdem unterstützt es die Audio-Gain-Funktion zum Anpassen der Lautstärke Passen Sie die Lautstärke entsprechend Ihrem Hörzustand an, um Hörschäden durch zu hohe Lautstärke zu vermeiden. Als nächstes lass mich dir helfen

So verwenden Sie NetEase Mailbox Master So verwenden Sie NetEase Mailbox Master Mar 27, 2024 pm 05:32 PM

NetEase Mailbox ist eine von chinesischen Internetnutzern weit verbreitete E-Mail-Adresse und hat mit seinen stabilen und effizienten Diensten schon immer das Vertrauen der Benutzer gewonnen. NetEase Mailbox Master ist eine E-Mail-Software, die speziell für Mobiltelefonbenutzer entwickelt wurde. Sie vereinfacht das Senden und Empfangen von E-Mails erheblich und macht unsere E-Mail-Verarbeitung komfortabler. Wie Sie NetEase Mailbox Master verwenden und welche spezifischen Funktionen es bietet, wird Ihnen der Herausgeber dieser Website im Folgenden ausführlich vorstellen und hofft, Ihnen weiterzuhelfen! Zunächst können Sie die NetEase Mailbox Master-App im Mobile App Store suchen und herunterladen. Suchen Sie im App Store oder im Baidu Mobile Assistant nach „NetEase Mailbox Master“ und befolgen Sie dann die Anweisungen zur Installation. Nachdem der Download und die Installation abgeschlossen sind, öffnen wir das NetEase-E-Mail-Konto und melden uns an. Die Anmeldeschnittstelle ist wie unten dargestellt

So verwenden Sie den Xiaoai-Lautsprecher. So verbinden Sie den Xiaoai-Lautsprecher mit dem Mobiltelefon So verwenden Sie den Xiaoai-Lautsprecher. So verbinden Sie den Xiaoai-Lautsprecher mit dem Mobiltelefon Feb 22, 2024 pm 05:19 PM

Nachdem Sie lange auf die Wiedergabetaste des Lautsprechers gedrückt haben, stellen Sie in der Software eine WLAN-Verbindung her und schon können Sie ihn verwenden. Tutorial Anwendbares Modell: Xiaomi 12 System: EMUI11.0 Version: Xiaoai Classmate 2.4.21 Analyse 1 Suchen Sie zunächst die Wiedergabetaste des Lautsprechers und halten Sie sie gedrückt, um in den Netzwerkverteilungsmodus zu gelangen. 2 Melden Sie sich in der Xiaoai Speaker-Software auf Ihrem Telefon bei Ihrem Xiaomi-Konto an und klicken Sie, um einen neuen Xiaoai Speaker hinzuzufügen. 3. Nachdem Sie den Namen und das Passwort des WLAN eingegeben haben, können Sie Xiao Ai anrufen, um es zu verwenden. Ergänzung: Welche Funktionen hat Xiaoai Speaker? 1 Xiaoai Speaker verfügt über Systemfunktionen, soziale Funktionen, Unterhaltungsfunktionen, Wissensfunktionen, Smart Home und Trainingspläne. Zusammenfassung/Hinweise: Für eine einfache Verbindung und Nutzung muss die Xiao Ai App vorab auf Ihrem Mobiltelefon installiert werden.

So verwenden Sie die Baidu Netdisk-App So verwenden Sie die Baidu Netdisk-App Mar 27, 2024 pm 06:46 PM

Cloud-Speicher sind heutzutage aus unserem täglichen Leben und Arbeiten nicht mehr wegzudenken. Als einer der führenden Cloud-Speicherdienste in China hat Baidu Netdisk mit seinen leistungsstarken Speicherfunktionen, der effizienten Übertragungsgeschwindigkeit und dem komfortablen Bedienerlebnis die Gunst einer großen Anzahl von Benutzern gewonnen. Und egal, ob Sie wichtige Dateien sichern, Informationen teilen, Videos online ansehen oder Musik hören möchten, Baidu Cloud Disk kann Ihre Anforderungen erfüllen. Viele Benutzer verstehen jedoch möglicherweise nicht die spezifische Verwendung der Baidu Netdisk-App. Dieses Tutorial führt Sie daher im Detail in die Verwendung der Baidu Netdisk-App ein. Wenn Sie immer noch verwirrt sind, folgen Sie bitte diesem Artikel, um mehr im Detail zu erfahren. So verwenden Sie Baidu Cloud Network Disk: 1. Installation Wählen Sie beim Herunterladen und Installieren der Baidu Cloud-Software zunächst die benutzerdefinierte Installationsoption aus.

Einfache Anleitung zur Pip Mirror-Quelle: Erlernen Sie ganz einfach die Verwendung Einfache Anleitung zur Pip Mirror-Quelle: Erlernen Sie ganz einfach die Verwendung Jan 16, 2024 am 10:18 AM

Einfacher Einstieg: So verwenden Sie pip Mirror Source Mit der weltweiten Beliebtheit von Python ist pip zu einem Standardtool für die Python-Paketverwaltung geworden. Ein häufiges Problem, mit dem viele Entwickler bei der Installation von Paketen mit pip konfrontiert sind, ist jedoch die Langsamkeit. Dies liegt daran, dass pip standardmäßig Pakete von offiziellen Python-Quellen oder anderen externen Quellen herunterlädt und diese Quellen sich möglicherweise auf Servern im Ausland befinden, was zu langsamen Download-Geschwindigkeiten führt. Um die Download-Geschwindigkeit zu verbessern, können wir die Pip-Spiegelquelle verwenden. Was ist eine Pip-Spiegelquelle? Um es einfach auszudrücken: einfach

See all articles