代码之家  ›  专栏  ›  技术社区  ›  kctang

在symfony中对每个文件执行单个/多个操作的好处?

  •  2
  • kctang  · 技术社区  · 15 年前

    和symfony一起工作了一段时间。大多数教程都描述在一个PHP文件中有多个操作。但是,我发现每个PHP文件有一个操作更容易维护。

    • 两者的优点/缺点是什么?
    • 这纯粹是代码组织中的开发人员偏好吗?
    • 对这两种方法都有性能影响吗?
    • 对于相当大的生产应用程序,常见的做法是什么?
    2 回复  |  直到 15 年前
        1
  •  2
  •   Tom    15 年前

    作为一名业余的symfony开发人员,我与经验丰富的symfony devs合作过,我的印象是,这在很大程度上取决于最适合应用程序的内容以及您对组织代码的偏好。一旦您开始处理一个更复杂的应用程序,这些类型的问题在某种程度上会得到解答,因为您将开始注意到项目的组织如何影响使用它的容易性。

    在我目前正在建设的一个站点上,我有大约20个模块,包括:

    • 具有单个操作和模板对的模块
    • 具有为多个模板提供服务的单个操作的模块
    • 具有为多个模板提供服务的多个操作的模块

    总的来说,大概有40-50个行动。

    除了组织与模型相关的代码之外,模块结构对于symfony配置级联也具有重要意义。由于布局和配置文件(如view.yml、security.yml等)最容易在应用程序和模块级别进行设置,良好的结构有助于您以直接的方式利用级联。这同样适用于路由规则,这取决于您如何在站点上使用这些规则。

    我没有足够的洞察力来评论性能——也许这里的其他人有。我自己也很想知道。

        2
  •  2
  •   sjobe    15 年前

    我在一家小商店工作[3个程序员],我们在不同的项目中使用了这两种方法,并在同一个项目中将它们混合在一起。如果我们在一个项目上工作,需要我们三个人都在做相同的操作,那么每个文件有一个操作是处理问题的明智方法[为什么不必这样做的时候就让自己管理SVN文件冲突]。

    我在更大的项目上工作过 单独地 我几乎总是在一个文件中执行多个操作。有了一个好的IDE,它就不那么重要了,因为您可以展开/折叠正在进行的操作,我猜性能差异可以忽略不计[我可能错了]。

    当您将所有操作都放在一个文件中时,preexecute()和sharing函数等其他功能似乎也更容易实现。