使用基于Zend的命名约定自动加载类,或者使用Symfony 2完全不使用约定


Autoload classes with Zend based naming convention or no convention at all with Symfony 2

如何使用Symfony2 ClassLoader自动加载不遵循PEAR命名约定且不使用命名空间的类?

从symfony2文档来看,这似乎是不可能的。如何包含API帮助程序库或其他不遵循这些类型约定的文件(即,它们遵循Zend约定或根本没有命名约定)?

您应该使用spl_autoload_register()为这些类注册自动加载函数。这将使您有几个自动加载器一个接一个地运行,直到其中一个能够加载所需的类。

Mchl所说的代码示例

app/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');