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



我们正在一个大型项目中使用symfony,该项目将创建数百个symfony模块、模型、fomr和过滤器。但是,将所有的模块、模型、表单保存在它们的重复文件夹结构中是非常难以维护的;即将300个模块保持在APP_ DIR/modules/中是不合适的。我想对它们进行分类,例如,我只想在modules/dir下放5个顶级文件夹,并将symfony模块放在这些文件夹中;表单/模型/过滤器也是如此。

你能建议做这件事的方法吗?

谢谢,Shafiul

为什么不将模块创建为插件。。这样你就可以有5个插件,里面有不同的模块。此外,lib模式等也会放在不同的文件夹中,然后。。。

要更改模型、窗体和过滤器的库,请在lib/目录中创建文件夹,并在config/目录中新建autoload.yml,其中包含以下内容:

#config/autoload.yml
autoload:
  my_classes:
    name: my_classes
    path: %SF_LIB_DIR%/myLib
    recursive: true

只要保持recursive: true ,子文件夹也将自动加载

您无法更改模块的目录结构。但是,您可以更改每个symfony应用程序的默认模块位置,方法是将此行添加到ProjectConfiguration类的setup((方法中,以覆盖sf_app_template_dir设置:apps/XXX/config/XXXConfiguration.class.php

sfConfig::set('sf_app_module_dir', sfConfig::get('sf_app_dir').DIRECTORY_SEPARATOR.'myModules');

最新更新