gpt4 book ai didi

php - 这是从服务层组织类的好方法吗?

转载 作者:搜寻专家 更新时间:2023-10-31 21:43:39 24 4
gpt4 key购买 nike

目前我有以下结构:

Model/
Entities/
Repositories/
Proxies/
Services/
User/
Manager.php
Relations/
Friendship.php
Group/
Manager.php
Administration.php
Posts/
Manager.php
...

由于我使用的是 Doctrine,所以我选择了这种结构,因为每个文件夹对应一个实体。这样组织有什么问题吗?

我想知道您对如何避免将来因组织不当而导致文件夹结构发生变化的看法。有没有更好的方法从服务层组织类?你能推荐什么?谢谢。

最佳答案

它看起来像是一个完美的有效结构,但是,我可能有两个建议:

  • 我通常将我的代理放在我的库文件夹之外,因为首先,它是一个不遵循 PSR-0 推荐的特殊类,其次,您可能需要在进行数据库更新时删除那些类,出于这些原因,我将它们放在 /var/tmp/proxies

  • 服务层结构看起来不错,但一定要应用到您的逻辑而不是您的实体,我的意思是,UserService 非常有效地收集用户背后的所有逻辑,但也可以用于某些其他实体,因为它们的关系。结论“一个实体 !== 一项服务”

  • 我也避免复数形式,这有点个人观点,但它有点类似于数据库系统中使用的命名约定,一个表代表一个实体,因此不应该接受复数形式。顺便说一下,大多数框架(即 Zf/Symfony2/Doctrine2)都使用单数。

  • 最后但最重要的是,无论您现在选择什么结构,都要保持一致,我们永远不会说得够多,我有时会从其他人那里拿回项目,甚至我也不明白他们为什么或如何这样做对此,我尽量遵循他们的惯例,在与团队合作进行项目时,这是一个要求

如果您决定有一天重构您的结构,花一两天时间,在每个地方都做,或者不做。

关于php - 这是从服务层组织类的好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7216326/

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