如何在Symfony中包含多个php库?

时间:2011-03-31 23:08:31

标签: symfony1 symfony-1.4

所以,我的 apps / myprogram / lib 文件夹中有一些php文件。例如应用/ myprogram / LIB / myLibA.class.php

当我在我的modules / actions / scripts中运行,并尝试使用myLibA中的函数时,我不能。因为symfony抱怨没有定义myLibA类。

我是否需要在symfony框架中指定myLibA.class.php是必需库的任何位置?

2 个答案:

答案 0 :(得分:6)

Symfony的自动加载器默认查看顶级<project>/lib目录中的类。将搜索该目录或下面的任何文件(“供应商”除外)以查找类。 Symfony使用类声明搜索任何.php文件,并将它们添加到自动加载系统。

此外,您可以在应用程序的autoload.yml文件中添加搜索路径。例如,对于我的一个应用程序,我在<project>/vendor/phpFlickr放置了第三方Flickr库,我的<project>/apps/frontend/config/autoload.yml文件如下所示:

autoload:
    vendor_php_flickr:
        path: %SF_LIB_DIR%/vendor/phpFlickr
        recursive: on

这允许以下所有类... / vendor / phpFlickr自动加载。

答案 1 :(得分:0)

这是另一种方法,你可以定义/添加你的preExecute:

public function preExecute()
{
  $this->getContext()->getConfiguration()->loadHelpers('Foo', 'Bar');
}

摘自(http://oldforum.symfony-project.org/index.php/m/92916/)