在symfony中放置自定义库或帮助器方法的最佳方法是什么? 我正在使用我的项目的学说。我考虑放在的一个地方是
project_root/lib/vendor/MyClasses/但是,如果我想创建一个类或辅助函数,它将使用一些核心symfony / doctrine方法并返回结果然后如何做到这一点,我应该把它放在哪里? 我希望它从不同的模块调用,以避免代码重复。
答案 0 :(得分:7)
至于问题的自定义库部分,您可能希望将外部库放入 lib / vendor 文件夹中。由于symfony不会自动加载其中的所有内容,因此您必须告诉其自动加载器这样做。
您可以扩展 config / ProjectConfiguration.class.php (如所述here)或(这是更简单,更简洁的方式)将它们添加到 config / autoload.yml (你可能需要创建这个)。 对于后一种选择,this是开始查看的好地方。
答案 1 :(得分:2)
正如symfony's 1.2“权威指南”文档中所述:
Helper函数(返回HTML代码的常规PHP函数)应保存在名为FooBarHelper.php的文件中,其中FooBar是帮助程序组的名称。将文件存储在apps / myapp / lib / helper /目录中(或在项目的某个lib /文件夹下创建的任何帮助器/目录中),以便use_helper('FooBar')帮助程序自动找到它。
因此,如果要为foo()函数创建自定义助手 FooBar ,请创建文件 lib / helper / FooBarHelper.php :
function foo() {echo "foo!"; }
在模板中使用它:
use_helper('FooBar')
....
foo(); //outs "foo!"