ApcUniversalClassLoader устаревшее
class ApcUniversalClassLoader extends UniversalClassLoader
устаревшее
ApcUniversalClassLoader реализует «универсальный» автозагрузчик, кэшируемый в APC для 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 могут быть найдены в списке расположений, чтобы облегчить продакшн-внесение подмножества классов для крупных проектов.
Пример использования:
require 'vendor/symfony/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';
require 'vendor/symfony/src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php';
use Symfony\Component\ClassLoader\ApcUniversalClassLoader;
$loader = new ApcUniversalClassLoader('apc.prefix.');
// 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',
));
// activate the autoloader
$loader->register();
В этом примере, если вы попытаетесь использовать класс в пространстве имён Symfony\Component или одном из его дочерних (например, Symfony\Component\Console), автозагрузчик сначала ищет класс в каталоге component/, а затем, если не найдёт, в каталоге framework/ перед тем, как отказаться от поиска.
Методы
| useIncludePath(bool $useIncludePath) Включает поиск файлов классов в include_path. Позволяет легко загружать установленные пакеты PEAR. | from UniversalClassLoader | |
| bool | getUseIncludePath() Может быть использован для проверки, использует ли автозагрузчик include_path для поиска классов. | from UniversalClassLoader |
| array | getNamespaces() Получает настроенные пространства имён. | from UniversalClassLoader |
| array | getPrefixes() Получает настроенные префиксы классов. | from UniversalClassLoader |
| array | getNamespaceFallbacks() Получает каталог(и) для использования как резервных для пространств имён. | from UniversalClassLoader |
| array | getPrefixFallbacks() Получает каталог(и) для использования как резервных для префиксов классов. | from UniversalClassLoader |
| registerNamespaceFallbacks(array $dirs) Регистрирует каталог для использования как резервный для пространств имён. | from UniversalClassLoader | |
| registerNamespaceFallback(string $dir) Регистрирует каталог для использования как резервный для пространств имён. | from UniversalClassLoader | |
| registerPrefixFallbacks(array $dirs) Регистрирует каталоги для использования как резервные для префиксов классов. | from UniversalClassLoader | |
| registerPrefixFallback(string $dir) Регистрирует каталог для использования как резервный для префиксов классов. | from UniversalClassLoader | |
| registerNamespaces(array $namespaces) Регистрирует массив пространств имён. | from UniversalClassLoader | |
| registerNamespace(string $namespace, array|string $paths) Регистрирует пространство имён. | from UniversalClassLoader | |
| registerPrefixes(array $classes) Регистрирует массив классов, используя конвенцию PEAR. | from UniversalClassLoader | |
| registerPrefix(string $prefix, array|string $paths) Регистрирует набор классов, используя конвенцию PEAR. | from UniversalClassLoader | |
| register(bool $prepend = false) Регистрирует этот экземпляр как автозагрузчик. | from UniversalClassLoader | |
| bool|null | loadClass(string $class) Загружает данный класс или интерфейс. | from UniversalClassLoader |
| string|null | findFile(string $class) Ищет файл по имени класса с кэшированием поисков в APC. | |
| __construct(string $prefix) Конструктор. |
Details
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)
Ищет файл по имени класса, кэшируя запросы в APC.
Параметры
| string | $class | Имя класса |
Возвращаемое значение
| string|null | Путь, если найден |
__construct(string $prefix)
Конструктор.
Параметры
| string | $prefix | Префикс для создания пространства имён в APC |
Исключения
| RuntimeException |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/ClassLoader/ApcUniversalClassLoader.html