Namespace in PHP

Ziel: Erfahren Sie, wie Sie denselben Namen der Klasse in PHP mit Namespace verwenden können. Im Allgemeinen können nicht zwei oder mehr Klassen mit demselben Namen verwendet werden. Es wird ein Fehler ausgegeben: "Klasse kann nicht erneut deklariert werden" Wie nachfolgend dargestellt-
Namespace in PHP

Um dies zu handhaben, können wir den Namespace verwenden, wie im folgenden Beispiel gezeigt: 1. Definieren Sie den Namespace Demo1 mit der Klasse Student in der Datei Demo1 / Student.php

<? php Namespace Demo1; class Student {// Der gesamte Code für diese Klasse ist hier var $ a = 10; }?>

2. Definieren des Namensraums Demo2 with Student class (gleichnamige Klasse) in der Demo2 / Student.php

<? php Namespace Demo2; class Student {// Der gesamte Code für diese Klasse ist hier var $ a = 20; }?>

3. Jetzt können wir in der Beispieldatei index.php die beiden Klassen fehlerfrei verwenden:

<? php // einschließlich beider Studentenklassen erfordern "Demo1 / Student.php"; Benötige "Demo2 / Student.php"; // Eine Instanz von Demo1 \ Student () erstellen $ Student1 = new Demo1 \ Student (); // Verwendung der First-Class-Funktionalität echo $ Student1-> a. '<br>'; // eine weitere Instanz von Demo2 \ Student () erstellen $ Student2 = new Demo2 \ Student (); // Verwenden der Funktionalität der zweiten Klasse echo $ Student2-> a;

Ausgabebildschirm:

10
20

Beide Klassen haben unterschiedliche Funktionen und wir können beide Klassen problemlos in einer einzigen Datei verwenden.

Hinweis: Wir können den Code mit der Funktion use () von PHP einfacher machen:

benutze Demo1 \ Student als Student1; $ Student1 = new Student1 (); echo $ Student1-> a. '<br>'; benutze Demo2 \ Student als Student2; $ Student2 = new Student2 (); echo $ Student2-> a;

Dateistruktur:

index.php
Demo1 / Student.php
Demo2 / Student.php

Verwandte Artikel:Automatisches Laden in PHP


Akash Roshan

Akash is a PHP developer and wants to share his knowledge through Blogs. He is currently growing in the IT industry while fulfilling his own goals.

Leave a Reply

Your email address will not be published. Required fields are marked *