Skip to content

Latest commit

 

History

History
41 lines (38 loc) · 1.68 KB

loader.md

File metadata and controls

41 lines (38 loc) · 1.68 KB

Загрузка классов

Автоматическая загрузка классов происходит после регистрации каталога хранения классов в загрузчике модуля. Конфигурация загрузчика классов. В параметрах с ключом autoload указывается конфигурация для драйверов автозагрузки классов.

<?php

$toolsModule = WS\Tools\Module::getInstance();
$toolsModule->classLoader()->configure(
    array(
       "psr4" => array(
           "Local\\" => __DIR__ . DIRECTORY_SEPARATOR . "lib",
           "Multiply\\Space\\Dirs\\" => array(
               __DIR__ . "/lib2",
               __DIR__ . "/lib3"
           )
           // ...
       ),
       "psr0" => array(
           "Old\\Namespaces\\" => __DIR__ . "/vendor",
           // ...
       )
   )
);
$toolsModule->config($config);

Для получения загрузчика есть специальный метод classLoader

<?php
CModule::IncludeModule('ws.tools');
$toolsModule = WS\Tools\Module::getInstance();
$classLoader = $toolsModule->classLoader();
$classLoader->getDriver('psr4')->registerPathByNamespace(__DIR__ . '/local/lib', "Local\\");

Означает, что для поиска классов зарегистрирован каталог __DIR__ . '/local/lib'

На данный момент поддерживаются следующие драйверы для автозагрузки: