Использование пространств имен: импорт/создание псевдонима имени
  (PHP 5 >= 5.3.0)
  
   Возможность ссылаться на внешнее абсолютное имя по псевдониму или импортирование
   - это важная особенность пространств имен. Это похоже на возможность
   файловых систем unix создавать символические ссылки на файл или директорию.
  
  
   Пространства имен PHP поддерживают
   три вида создания псевдонима имени или импорта: создание псевдонима для имени класса, создание псевдонима
   для имени интерфейса и для имени пространства имен.
   Обратите внимание, что импорт функций или констант не поддерживается.
  
  
   В PHP создание псевдонима имени выполняется с помощью оператора use. Вот
   пример, показывающий 3 типа импорта:
   
    Пример #1 импорт/создание псевдонима имени с помощью оператора use
    
     
<?php
namespace foo;
use My\Full\Classname as Another;
// это тоже самое, что и использование My\Full\NSname как NSname
use My\Full\NSname;
// импортирование глобального класса
use ArrayObject;
$obj = new namespace\Another; // создает экземпляр класса foo\Another
$obj = new Another; // создает объект класса My\Full\Classname
NSname\subns\func(); // вызывает функцию My\Full\NSname\subns\func
$a = new ArrayObject(array(1)); // создает объект класса ArrayObject
// без выражения "use ArrayObject" мы создадим объект класса foo\ArrayObject
?>
     
    
   Обратите внимание, что для имен в пространстве имен (абсолютные имена, содержащие
   разделитель пространств имен, такие как 
Foo\Bar, в отличие от глобальных имен,
   которые его не содержат, такие как 
FooBar) нет необходимости в начальном обратном слеше (\)
   и его присутствие там не рекомендуется, так как импортируемые имена должны быть абсолютными и не обрабатываются
   относительно текущего пространства имен.
  
  
   PHP дополнительно поддерживает удобное сокращение для задания нескольких операторов use
   в одной и той же строке
   
    Пример #2 импорт/создание псевдонима имени с помощью оператора use, комбинирование нескольких операторов use
    
     
<?php
use My\Full\Classname as Another, My\Full\NSname;
$obj = new Another; // создает объект класса My\Full\Classname
NSname\subns\func(); // вызывает функцию My\Full\NSname\subns\func
?>
     
    
  
  
   Импорт выполняется во время компиляции, и не влияет на имена динамических классов, функций
   или констант.
   
    Пример #3 Импорт и динамические имена
    
     
<?php
use My\Full\Classname as Another, My\Full\NSname;
$obj = new Another; // создает объект класса My\Full\Classname
$a = 'Another';
$obj = new $a;      // создает объект класса Another
?>
     
    
  
  
   В дополнение, импорт распространяется только на неполные и полные имена. Абсолютные имена
   не затрагиваются операцией импорта.
   
    Пример #4 Импортирование и абсолютные имена
    
     
<?php
use My\Full\Classname as Another, My\Full\NSname;
$obj = new Another; // создает объект класса My\Full\Classname
$obj = new \Another; // создает объект класса Another
$obj = new Another\thing; // создает объект класса My\Full\Classname\thing
$obj = new \Another\thing; // создает объект класса Another\thing
?>
     
    
  
  
   Scoping rules for importing
   
    Ключевое слово use должно быть указано в
    самом начале файла (в глобальной области) или внутри объявления пространства
    имен. Это необходимо потому, что импорт выполняется во время компиляции, а
    не во время исполнения, поэтому оно не может быть заключено в блок.
    Следующий пример показывает недопустимое применение 
    ключевого слова use:
   
   
    
     Пример #5 Недопустимое правило импорта
     
<?php
namespace Languages;
class Greenlandic
{
    use Languages\Danish;
    ...
}
?>
      
     
   
   Замечание: 
    
  Правила импорта задаются на каждый файл отдельно. Это означает, что
  присоединяемые файлы НЕ будут наследовать правила импорта
  из родительского файла.