Классы автозагрузки с Zend-соглашением об именах или вообще без соглашения с Symfony 2 - PullRequest
1 голос
/ 13 февраля 2012

Как я могу использовать Symfony2 ClassLoader для автозагрузки классов, которые не следуют соглашениям об именах PEAR и не используют пространства имен?

Из документов symfony2 кажется, что это невозможно.Как включить вспомогательные библиотеки API или другие файлы, которые не соответствуют этим типам соглашений (т.е. вместо этого они следуют соглашениям Zend или вообще не имеют соглашений об именах)?

Ответы [ 2 ]

2 голосов
/ 13 февраля 2012

Вы должны зарегистрировать функции автозагрузки для этих классов, используя spl_autoload_register(). Это позволит вам запускать несколько автозагрузчиков один за другим, пока одному не удастся загрузить требуемый класс.

1 голос
/ 05 июня 2012

Пример кода того, что сказал Мчл

в приложении / autoload.php

...
$loader->register();
...
/////////////////////////////////////////////////////////////////////////////////
// Own autoloader for non-namespaced nor PEAR lib. Replace tcpdf with yours.
function myLoader()
{
    $file = __DIR__ . '/../vendor/tcpdf/tcpdf.php';
    if (!file_exists($file))
    {
        return false;
    }
    require_once $file;
}

spl_autoload_register('myLoader');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...