Класс Phalcon\Loader

Реализует Phalcon\Events\EventsAwareInterface

Source on GitHub

Этот компонент помогает автоматически загружать классы проекта на основе некоторых соглашений

<?php

use Phalcon\Loader;

// Создать автозагрузчик
$loader = new Loader();

// Регистрация некоторых пространств имен
$loader->registerNamespaces(
    [
        "Example\\Base"    => "vendor/example/base/",
        "Example\\Adapter" => "vendor/example/adapter/",
        "Example"          => "vendor/example/",
    ]
);

// Зарегистрировать автозагрузчик
$loader->register();

// Требование этого класса будет автоматически включать файл vendor/example/adapter/Some.php
$adapter = new \Example\Adapter\Some();

Методы

public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager)

Задает диспетчер событий

public getEventsManager ()

Возвращает внутренний Диспетчер событий

public setExtensions (array $extensions)

Задает массив расширений файлов, которые загрузчик должен попробовать при каждой попытке найти файл

public getExtensions ()

Возвращает расширения файлов, зарегистрированные в загрузчике

public registerNamespaces (array $namespaces, [mixed $merge])

Регистрация пространств имен и связанных с ними каталогов

public setFileCheckingCallback (mixed $callback = null): Phalcon\Loader

Задает обратный вызов проверки файла.

<?php

// Поведение по умолчанию.
$loader->setFileCheckingCallback("is_file");

// Быстрее, чем ' is_file() ', но подразумевает некоторые проблемы, 
// если файл удаляется из файловой системы.
$loader->setFileCheckingCallback("stream_resolve_include_path");

// Не проверять существование файлов.
$loader->setFileCheckingCallback(null);

Вызывается Phalcon\Loader\Exception , если параметр $callback не является callable или null;

protected prepareNamespace (array $namespace)

...

public getNamespaces ()

Возвращает пространства имен, которые в настоящее время зарегистрированы в автозагрузчике

public registerDirs (array $directories, [mixed $merge])

Регистрировать каталоги, в которых могут быть найдены классы "not found"

public getDirs ()

Возвращает каталоги, зарегистрированные в автозагрузчике

public registerFiles (array $files, [mixed $merge])

Регистрирует файлы, которые являются "не-классами", поэтому их нужно "require". Это очень полезно для включения файлов, которые имеют только функции

public getFiles ()

Возвращает файлы, зарегистрированные в данный момент в автозагрузчике

public registerClasses (array $classes, [mixed $merge])

Регистрация классов и их местоположений

public getClasses ()

Возвращает карту классов, зарегистрированную в автозагрузчике

public register ([mixed $prepend])

Регистрация метода автоматической загрузки

public unregister ()

Отмена регистрации метода автозагрузки

public loadFiles ()

Проверяет, существует ли файл, а затем добавляет файл, выполнив virtual require

public autoLoad (mixed $className)

Автозагрузка зарегистрированных классов

public getFoundPath ()

Получить путь, когда был найден класс

public getCheckedPath ()

Получить путь, по которому загрузчик проверяет путь