所以,我的 apps / myprogram / lib 文件夹中有一些php文件。例如应用/ myprogram / LIB / myLibA.class.php
当我在我的modules / actions / scripts中运行,并尝试使用myLibA中的函数时,我不能。因为symfony抱怨没有定义myLibA类。
我是否需要在symfony框架中指定myLibA.class.php是必需库的任何位置?
答案 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/)