Spec-Zone.ru › Symfony 3.2

UniversalClassLoader устаревший

class UniversalClassLoader

устаревший

since version 2.4, to be removed in 3.0. Use the {@link ClassLoader} class instead.

UniversalClassLoader реализует «универсальный» автозагрузчик для PHP 5.3.

Он может загружать классы, которые используют:

  • Технические стандарты взаимозаменяемости для PHP 5.3 пространств имён и имён классов (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md);

  • Конвенцию именования PEAR для классов (http://pear.php.net/).

Классы из подпространства или поддерева классов PEAR могут быть найдены в списке расположений, чтобы упростить размещение подмножества классов для больших проектов.

Пример использования:

$loader = new UniversalClassLoader();

// register classes with namespaces
$loader->registerNamespaces(array(
    'Symfony\Component' => __DIR__.'/component',
    'Symfony' => __DIR__.'/framework',
    'Sensio' => array(__DIR__.'/src', __DIR__.'/vendor'),
));

// register a library using the PEAR naming convention
$loader->registerPrefixes(array(
    'Swift_' => __DIR__.'/Swift',
));


// to enable searching the include path (e.g. for PEAR packages)
$loader->useIncludePath(true);

// activate the autoloader
$loader->register();

В этом примере, если вы попытаетесь использовать класс в пространстве имён Symfony\Component или одном из его подклассов (например, Symfony\Component\Console), автозагрузчик сначала будет искать класс в каталоге component/, а затем перейдёт к каталогу framework/ если его не найдёт, прежде чем отказаться от поиска.

Методы

useIncludePath(bool $useIncludePath)

Включает поиск файлов классов в пути include. Позволяет легко загружать установленные пакеты PEAR.

bool getUseIncludePath()

Может использоваться для проверки того, использует ли автозагрузчик путь include для поиска классов.

array getNamespaces()

Получает настроенные пространства имён.

array getPrefixes()

Получает настроенные префиксы классов.

array getNamespaceFallbacks()

Получает каталоги(и) используемые как резерв для пространств имён.

array getPrefixFallbacks()

Получает каталоги(и) используемые как резерв для префиксов классов.

registerNamespaceFallbacks(array $dirs)

Регистрирует каталог, используемый как резерв для пространств имён.

registerNamespaceFallback(string $dir)

Регистрирует каталог, используемый как резерв для пространств имён.

registerPrefixFallbacks(array $dirs)

Регистрирует каталоги, используемые как резерв для префиксов классов.

registerPrefixFallback(string $dir)

Регистрирует каталог, используемый как резерв для префиксов классов.

registerNamespaces(array $namespaces)

Регистрирует массив пространств имён.

registerNamespace(string $namespace, array|string $paths)

Регистрирует пространство имён.

registerPrefixes(array $classes)

Регистрирует массив классов, использующих конвенцию именования PEAR.

registerPrefix(string $prefix, array|string $paths)

Регистрирует набор классов, использующих конвенцию именования PEAR.

register(bool $prepend = false)

Регистрирует этот экземпляр как автозагрузчик.

bool|null loadClass(string $class)

Загружает данный класс или интерфейс.

string|null findFile(string $class)

Находит путь к файлу, где определён класс.

Подробности

useIncludePath(bool $useIncludePath)

Включает поиск файлов классов в пути include. Позволяет легко загружать установленные пакеты PEAR.

Параметры

bool $useIncludePath

bool getUseIncludePath()

Может использоваться для проверки того, использует ли автозагрузчик путь include для поиска классов.

Значение результата

bool

array getNamespaces()

Получает настроенные пространства имён.

Значение результата

array Хеш с пространствами имён в качестве ключей и каталогами в качестве значений

array getPrefixes()

Получает настроенные префиксы классов.

Значение результата

array Хеш с префиксами классов в качестве ключей и каталогами в качестве значений

array getNamespaceFallbacks()

Получает каталоги(и) используемые как резерв для пространств имён.

Значение результата

array Массив каталогов

array getPrefixFallbacks()

Получает каталоги(и) используемые как резерв для префиксов классов.

Значение результата

array Массив каталогов

registerNamespaceFallbacks(array $dirs)

Регистрирует каталог, используемый как резерв для пространств имён.

Параметры

array $dirs Массив каталогов

registerNamespaceFallback(string $dir)

Регистрирует каталог, используемый как резерв для пространств имён.

Параметры

string $dir Каталог

registerPrefixFallbacks(array $dirs)

Регистрирует каталоги, используемые как резерв для префиксов классов.

Параметры

array $dirs Массив каталогов

registerPrefixFallback(string $dir)

Регистрирует каталог, используемый как резерв для префиксов классов.

Параметры

string $dir Каталог

registerNamespaces(array $namespaces)

Регистрирует массив пространств имён.

Параметры

array $namespaces Массив пространств имён (пространства имён в качестве ключей и расположения в качестве значений)

registerNamespace(string $namespace, array|string $paths)

Регистрирует пространство имён.

Параметры

string $namespace Пространство имён
array|string $paths Расположение(я) пространства имён

registerPrefixes(array $classes)

Регистрирует массив классов, использующих конвенцию именования PEAR.

Параметры

array $classes Массив классов (префиксы в качестве ключей и расположения в качестве значений)

registerPrefix(string $prefix, array|string $paths)

Регистрирует набор классов, использующих конвенцию именования PEAR.

Параметры

string $prefix Префикс классов
array|string $paths Расположение(я) классов

register(bool $prepend = false)

Регистрирует этот экземпляр как автозагрузчик.

Параметры

bool $prepend Нужно ли добавить автозагрузчик в начало

bool|null loadClass(string $class)

Загружает данный класс или интерфейс.

Параметры

string $class Имя класса

Значение результата

bool|null True, если загружено

string|null findFile(string $class)

Находит путь к файлу, где определён класс.

Параметры

string $class Имя класса

Значение результата

string|null Путь, если найден

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/ClassLoader/UniversalClassLoader.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API