我们在一个大型项目中使用symfony,其中将创建数百个symfony模块,模型,fomrs和过滤器。但是将所有模块,模型,fomrs保存在其相应的文件夹结构中是非常难以维护的;即将300个模块保存在APP_DIR / modules /中是不合适的。我想对这些进行分类,例如,我想在modules / dir下只放置5个顶级文件夹。并将symfony模块保存到这些文件夹中;和形式/模型/过滤器相同。
你能否建议任何方式这样做?
谢谢, 沙菲
答案 0 :(得分:0)
为什么不把你的模块创建为插件..所以你可以有5个插件,里面有不同的模块。 lib模式等也会放在不同的文件夹中......然后......
答案 1 :(得分:0)
要更改模型,fomrs和过滤器的库,请在lib /目录中创建文件夹,并在config /目录中创建包含以下内容的autoload.yml:
#config/autoload.yml
autoload:
my_classes:
name: my_classes
path: %SF_LIB_DIR%/myLib
recursive: true
只要您保留recursive: true
您无法更改模块的目录结构。但是,您可以通过将此行添加到ProjectConfiguration类的setup()方法来更改每个symfony应用程序的默认模块位置,以覆盖sf_app_template_dir设置: 应用/ XXX /配置/ XXXConfiguration.class.php
sfConfig::set('sf_app_module_dir', sfConfig::get('sf_app_dir').DIRECTORY_SEPARATOR.'myModules');