Пространства от имена
PHP Manual

Употреба на пространства от имена

Към всеки клас или функция, намиращи се в пространство от имена, може да се извърши обръщение посредством пълно име - например MyProject::DB::Connection или MyProject::DB::connect, по всяко време.

Example #1 Употреба на име с пространство от имена

<?php
    
require 'MyProject/Db/Connection.php';
    
$x = new MyProject::DB::Connection;
    
MyProject::DB::connect();
?>

Пространствата от имена могат да бъдат внасяни в глобален контекст или в контекста на дадено пространство от имена посредством оператора use. Синтаксисът за този оператор е:

<?php
/* ... */
use Some::Name as Othername;

// Опростената употреба:
use Foo::Bar;
// което е същото като :
use Foo::Bar as Bar;
?>

Внесеното име работи по следния начин: всеки път, когато компилаторът срещне локалното име Othername (като отделно име или като представка на по-дългото име, разделено от ::), той го замества с внесеното име Some::Name.

use може да се използва само в глобалната област на действие, но не и във функция или клас. Внесените имена имат област на действие от точката на внасяне до края на текущия файл. Препоръчително е внасянията да се поставят в началото на файла, за да се избегнат обърквания.

Example #2 Внасяне и осъществяване на достъп до пространство от имена

<?php
    
require 'MyProject/Db/Connection.php';
    use 
MyProject::DB;
    use 
MyProject::DB::Connection as DbConnection;
    
    
$x = new MyProject::DB::Connection();
    
$y = new DB::connection();
    
$z = new DbConnection();
    
DB::connect();
?>

Забележка: Операцията по внасяне се изпълнява само по време на компилация, всички локални имена се преобразуват до пълните им еквиваленти от компилатора. Забележете, че имената в низове няма да бъдат преобразувани, така че обратните извиквания не могат да разчитат на тези правила за вмъкване.


Пространства от имена
PHP Manual