Dichiarazione e uso dei namespace
Racchiudere le classi nei namespace e importarle con le istruzioni use.
Dichiarazione e uso dei namespace è una lezione PHP Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento PHP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso PHP Academy include 4 lezioni in totale.
Che cos'è un namespace?
Un namespace raggruppa classi, funzioni e costanti correlate per evitare conflitti di nomi tra le librerie.
Dichiarare un namespace
Utilizzi la parola chiave namespace come prima istruzione in un file PHP (dopo <?php).
<?php
namespace App\Services;
class Logger {
public function log(string $msg): void {
echo $msg;
}
}Segmenti di un namespace
I segmenti sono separati da barre rovesciate (\). Ogni segmento corrisponde in genere a una directory nel caricamento automatico PSR-4.
Importare con use
La parola chiave use importa il nome completamente qualificato di una classe, così da poterla referenziare con il suo nome breve.
<?php
namespace App\Controllers;
use App\Services\Logger;
class HomeController {
public function index(): void {
$logger = new Logger();
$logger->log("visited");
}
}Nomi completamente qualificati
Per referenziare una classe senza use, anteponga una barra rovesciata.
<?php
$logger = new \App\Services\Logger();
$logger->log("Hello");Il namespace globale
Il codice senza namespace risiede nel namespace globale. Anche le classi predefinite, come \DateTime, risiedono al suo interno. All'interno di un namespace, anteponga \.
Importare funzioni e costanti
Utilizzi use function e use const per importare simboli non appartenenti a classi.
<?php
namespace App;
use function App\Utils\formatDate;
use const App\Utils\DATE_FORMAT;
echo formatDate(time(), DATE_FORMAT);Istruzioni use raggruppate
Importi più simboli in un unico blocco use raggruppato (PHP 7+).
<?php
use App\Models\{User, Post, Comment};Un namespace per file
È consentito avere più dichiarazioni di namespace in un file, ma è sconsigliato. Preferisca un namespace per file, per maggiore chiarezza e compatibilità con l'autoloader.
Convenzioni comuni
Laravel e Symfony utilizzano App\ come namespace radice associato a src/ o app/ in composer.json.
Organizzazione dei sotto-namespace
Raggruppi per funzionalità o livello: App\Http\Controllers, App\Domain\Orders, App\Infrastructure\Database.
Riepilogo dei namespace
Punti chiave: namespace deve essere la prima istruzione; use importa i simboli; la barra rovesciata separa i segmenti; anteponga \ per le classi globali all'interno di un namespace.
Verifica rapida
Quale parola chiave importa una classe da un altro namespace?
Domande Frequenti
La lezione «Dichiarazione e uso dei namespace» è gratuita?
Sì — il testo completo di «Dichiarazione e uso dei namespace» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso PHP Academy, passa a CoddyKit PRO. Il corso PHP Academy include 4 lezioni in totale.
Cosa imparerò in «Dichiarazione e uso dei namespace»?
Racchiudere le classi nei namespace e importarle con le istruzioni use. Eserciti PHP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare PHP Academy?
Non è richiesta alcuna esperienza precedente. PHP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Dichiarazione e uso dei namespace»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione PHP Academy?
Sì. Ogni lezione PHP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Dichiarazione e uso dei namespace
- Namespace annidati e alias
- Standard di autoloading PSR-4
- Registrazione degli autoloader