重构symfony项目

时间:2017-12-11 19:59:41

标签: php symfony architecture refactoring

我需要从旧的symfony项目重构我的代码。我有类似模板提供者的东西。每个模板都是独立的包,包含自己的表单,twig模板,提供者(我有模板的名称和twig文件的路径)和services.yml。现在我可以把它放到一个包中,我需要一个建议,我怎么能以最好的方式做到这一点。每个bundle仍然必须有单独的twig文件(有来自模板类型的脚本和来自表单的数据)。但是也许有一些以动态方式生成表单的自动化(很多表单只有一个带id的字段)?您将如何设计一个生成具有自己的表单的模板的系统和一个使用这些表单中的变量的twig文件?遗憾的是,我无法提供项目的源代码。 问候

1 个答案:

答案 0 :(得分:0)

在Symfony 3.4中不推荐使用捆绑包,在Symfony 4中禁用事件,除非您要创建要重新分发的包。

如果对您来说很重要,我建议您将代码分隔在不同的命名空间中。

对于twig模板,从Symfony 3.4开始,您可以将它们存储在项目目录根目录的templates/目录中。同样,如果您需要它,可以将它们存储在与不同命名空间匹配的不同子目录中。

请参阅作者的博客:Symfony 4: Directory Structure | Articles - Fabien Potencier

[编辑]正如塞拉德所说,我错了。捆绑包不会被弃用也不会被废弃。它是Bundle继承,在Symfony 3.4中已弃用,在Symfony 4中已禁用。

请在此处查看详细信息:New in Symfony 3.4: Deprecated bundle inheritance (Symfony Blog)