如何在symfony2中包含文件(类)


How to include a file (class) in symfony2

我想使用 PHP 导入和查看 excel 文件,所以我找到了一个库类 php-excel-reader

当我们使用 PHP 时,我们只需使用 include("nameoffile.php"); 将文件包含在页面中

我不知道如何使用Symfony来做到这一点。我应该在哪里导入?又如何呢?

这是针对PHPExcel的,而不是针对阅读器的,但原理是相同的。 无需实际包含文件。 它们可以自动加载。

添加到自动加载.php:

$loader->registerPrefixes(array(
    'Twig_Extensions_' => $ws.'Symfony/vendor/twig-extensions/lib',
    'Twig_'            => $ws.'Symfony/vendor/twig/lib',
    'Zend_'            => $ws.'ZendFramework-1.11.11/library',
    'PHPExcel'         => $ws.'PHPExcel/Classes' // Change to support the reader
));

之后,您可以执行以下操作:

$reader = new 'Spreadsheet_Reader();

请注意,需要前导斜杠来处理非命名空间库。

我通过使用服务稍微抽象了一下东西:

/* ==================================================
 * Wrap interface to the excel spreasheet processing
 */
namespace Zayso'CoreBundle'Component'Format;
class Excel
{
    public function newSpreadSheet()
    {
        return new 'PHPExcel();
    }
    public function newWriter($ss)
    {
        return 'PHPExcel_IOFactory::createWriter($ss, 'Excel5');
    }
    public function load($file)
    {
        return 'PHPExcel_IOFactory::load($file);
    }
}

您可以创建需要文件的服务。您在官方文档中有一个示例。