gpt4 book ai didi

symfony - 新的 symfony 包,当

转载 作者:行者123 更新时间:2023-12-01 05:02:34 24 4
gpt4 key购买 nike

在我的 symfony 应用程序上,是时候添加邮件程序功能了。我一直都知道,一些新功能理所当然地进入自己的 bundle 。现在我想添加一些邮件功能,以便用户可以勾选一些选项,然后将项目发送给 friend 。

提前考虑,我可能还会在同一个应用程序的另一个 bundle 中使用该功能,这是网站的不同部分。

所以我在想,我可能想把一个电子邮件 Controller 放在它自己的包中,但我知道 swiftmailer 包已经这样做了,我将使用它。

所以最后我认为它可能只需要几行代码,并且最好放在我需要电子邮件功能的网站特定部分的 Controller 上。

现在是我考虑将其制作成自己的包的主要原因,电子邮件正文的 twig 模板。我想让这些模板在我的其他包中晃来晃去吗?我想这是有道理的。

有什么建议吗?

最佳答案

仅仅为几行代码创建一个包看起来有点矫枉过正。

对于您的 twig 模板,您可以将共享模板部分放在 app/Resources/views 中,它为您的所有应用程序共享。并将特定领域的模板放入特定领域的包中。 http://symfony.com/doc/current/book/templating.html#template-naming-locations

无论您的电子邮件逻辑代码应该放在服务包装的 swift 邮件程序中,例如如果您需要切换邮件策略,例如使用 HTTP API 发送邮件,您只需要更改此服务,而不是所有 Controller 。

如果你有一些代码要在你的包之间共享,你是否应该有一个包含所有“单一”服务的 {App|Main|Core|...}Bundle,如果需要,可以稍后将其移动到自己的包中.

无论如何,他们有很多方法可以解决您的全局问题:

  • 您可以使用一个包含所有业务逻辑的 bundle ,并将您的技术/通用内容外部化/分离到可以在您的应用之间共享的 bundle 中

  • 您可以采用相反的方法,一个包用于技术内容,多个包用于您的业务逻辑,保持低耦合可能会更难

  • 或者两者兼而有之

在我看来,第一种方法适用于简单的应用程序,而第二种和第三种方法可以更面向领域,适用于更大的应用程序。最重要的可能是保持一致。

关于symfony - 新的 symfony 包,当,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22947228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com