Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 在symfony中每个文件有一个/多个操作的利弊?_Model View Controller_Symfony1 - Fatal编程技术网

Model view controller 在symfony中每个文件有一个/多个操作的利弊?

Model view controller 在symfony中每个文件有一个/多个操作的利弊?,model-view-controller,symfony1,Model View Controller,Symfony1,和symfony一起工作了一段时间。大多数教程描述在一个php文件中有多个操作。然而,我发现每个php文件有一个操作更容易维护 两者的利弊是什么 这纯粹是代码组织中的开发人员偏好吗 这两种方法对性能都有影响吗 对于相当大的生产应用程序,通常的做法是什么 作为一名业余symfony开发人员,并且与经验丰富的symfony开发人员合作过,我的印象是,这在很大程度上取决于最适合应用程序的内容以及您对组织代码的偏好。一旦你开始处理一个更复杂的应用程序,这些问题在某种程度上会自动得到解答,因为你会开始注

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

  • 两者的利弊是什么
  • 这纯粹是代码组织中的开发人员偏好吗
  • 这两种方法对性能都有影响吗
  • 对于相当大的生产应用程序,通常的做法是什么

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

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

  • 具有单个操作和模板对的模块
  • 具有服务于多个模板的单个操作的模块
  • 具有服务于多个模板的多个操作的模块
总共可能有40-50项行动

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


我没有足够的洞察力来评论性能——也许这里的其他人会这样做。我自己也很有兴趣听一听。

我在一家小店工作[3名程序员],我们在不同的项目中使用了这两种方法,也在同一个项目中混合使用了这两种方法。如果我们正在处理一个项目,需要我们三个人都执行相同的操作,那么每个文件都有一个操作是处理问题的更明智的方法[为什么在不需要的情况下还要管理svn文件冲突]

我独自一人做过更大的项目,几乎总是在一个文件中执行多个操作。有了一个好的IDE,这并不重要,因为您可以展开/折叠正在进行的操作,我的猜测是性能差异可以忽略不计(我可能错了)


当您将所有操作都放在一个文件中时,诸如preExecute()和共享函数等其他功能似乎也会变得更容易。

谢谢您的回答,sjobe。如果我们能选出两个正确答案,我会认为汤姆和你的答案都很有道理。这毕竟是最佳实践的东西;-)