在symfony 1.2中自定义模块,模型,表单,过滤器路径

时间:2011-05-04 07:59:07

标签: symfony1 path customization

我们在一个大型项目中使用symfony,其中将创建数百个symfony模块,模型,fomrs和过滤器。但是将所有模块,模型,fomrs保存在其相应的文件夹结构中是非常难以维护的;即将300个模块保存在APP_DIR / modules /中是不合适的。我想对这些进行分类,例如,我想在modules / dir下只放置5个顶级文件夹。并将symfony模块保存到这些文件夹中;和形式/模型/过滤器相同。

你能否建议任何方式这样做?

谢谢, 沙菲

2 个答案:

答案 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');