Obbiettivo: Per sapere come possiamo usare lo stesso nome della classe in PHP usando namespace. Generalmente non possiamo usare due o più classi con lo stesso nome. Darà un errore: "Impossibile redeclare la classe" come mostrato di seguito-
Per gestirlo, possiamo usare lo spazio dei nomi come mostrato nell'esempio seguente: 1. Definire il namespace Demo1 con la classe Student nel Demo1 / Student.php
<? php namespace Demo1; classe Student {// Tutto il codice sarà qui per questa classe var $ a = 10; }?>
2. Definizione dello spazio dei nomi Demo2 con classe Student (classe con lo stesso nome) in Demo2 / Student.php
<? php namespace Demo2; classe Student {// Tutto il codice sarà qui per questa classe var $ a = 20; }?>
3. Ora nel file di esempio index.php, siamo in grado di utilizzare entrambe le classi senza errori:
<? php // che include entrambe le classi di studenti richiedono "Demo1 / Student.php"; richiede "Demo2 / Student.php"; // creazione di un'istanza di Demo1 \ Student () $ Student1 = new Demo1 \ Student (); // utilizzando la funzionalità di prima classe echo $ Student1-> a. '<br>'; // creando un'altra istanza di Demo2 \ Student () $ Student2 = new Demo2 \ Student (); // utilizzando la funzionalità di seconda classe echo $ Student2-> a;
Schermo di uscita:
10
20
Entrambe le classi avranno funzionalità diverse e saremo in grado di utilizzare entrambe le classi in un singolo file facilmente.
Nota: Possiamo rendere il codice più semplice usando la funzione PHP use ():
utilizzare Demo1 \ Studente come Student1; $ Student1 = new Student1 (); echo $ Student1-> a. '<br>'; utilizzare Demo2 \ Studente come Student2; $ Student2 = new Student2 (); echo $ Student2-> a;
Struttura del file:
index.php
Demo1 / Student.php
Demo2 / Student.php
Articolo correlato:Caricamento automatico in PHP