我真的应该投票结束这个 - 它既太宽泛,主要是基于意见。
如果要使用Java,C或C#开发基于Web的应用程序,那么框架就非常重要。但对于PHP来说,这是一个非常不同的故事 - 您将从一种专门设计的语言开始,该语言提供来自单个供应商的丰富工具库。此外,如果您在Linux平台上开发,那么开发工具和平台都将由补丁管理提供商。只要您开始添加第三方组件,问题就会变成much more complicated。
对于似乎理由,开源项目似乎茁壮成长,做好时,要求他们频繁的发布。对于商业软件来说,定期发布对产生收入来源非常重要当一个产品完成开发时,它似乎在市场上完成。考虑磅与haproxy。
IME代码的质量,你可以从互联网上下载良莠不齐。可悲的人气并不总是等同于质量(但价格也没什么关系)。通常,程序员过于关注提供功能以考虑安全性,性能和可伸缩性。事实上,似乎有一种观点认为,在框架中增加更多的功能使其比其他产品更具优势(更多功能=更复杂=更多错误=安全性更低+难以修复)。
具体到PHP框架的问题是最求将所有的东西给所有的人(更复杂) - 提供会话抽象,模板,数据库抽象,模板,路径...有高度集中工具的一些例外(如smarty用于模板化,元数据库或用于数据库抽象的AdoDB,用于与DOM交互的jQuery),它们专注于做一件事并做得很好。
一旦你开始添加第三方的代码到你的系统,你需要确保确保代码的方法是最新的 - 但成本是锋线 - 加入第二,第三,第四......包有很多(比如,假设你确实在采购和部署管理方面采取了适当的流程)。使用作曲家有助于解决基本问题(但还有很长的路要走)。
是的,你会遇到,其他人都写解决方案的问题。使用(良好)框架或库可能会在项目的早期阶段节省成本(一旦处理了让开发团队加速的问题)。
这些框架都已经组织好,这意味着它可能很难做任何我们想和他们
我建议,如果他们有良好的组织,应该更容易为你做任何你想和他们一起!
但周围有SO一看 - 经常被人张贴问题问我怎么办XYZ使用CakePHP /隼/笨/ Laravel。在大多数情况下,他们所要求的将会更容易地执行,而不是通过框架执行而不是通过。
我可以继续,但是这个回复已经太长了。
没有回答你的问题。如果有这将取决于很多其他因素,如可用的技能,风险偏好,预算....
如果你决定使用一个框架(或框架),那么请考虑构建围绕微服务系统和(如果可行)避免使用框架前端控制器。如果你需要重新设计它,这将减少你对框架的依赖。