公司使用哪些PHP框架?

4

有关PHP框架的问题有很多,但我想知道在开发PHP Web应用程序时商业世界使用哪些框架。在我的第一份基于Web的工作中,他们没有为PHP代码库准备框架。在处理PHP时是否普遍存在这种情况?如果不是,那么生产产品(提供某种服务的站点或可以购买的基于Web的产品)的公司通常使用哪些框架?


嗯,我认为标题需要改进一下。但问题是可以的。 - Thomas Owens
在我看来,这个问题很好。人们在采用某些东西进行公司工作之前需要感到舒适。 - namespaceform
10个回答

8
处理PHP时是否普遍存在这种情况?
根据我的经验,不幸的是确实存在。当然这只是一个粗略的概括,但是学习PHP作为第一门编程语言的人通常不会学习可维护软件开发的基本要素,也往往不知道如何编写良好的代码。我认为这是PHP社区的一个缺陷,历史上大部分学习资源没有强调好的实践方法(可能是因为作者自己也不太清楚!)。当然,只要你理解底层的编程原则,就能用PHP编写优秀的代码。
公司通常会从简单的PHP脚本开始,并将其逐渐扩展和重复使用于项目之中(通常没有源代码控制!)。那些知道自己在做什么并且认真对待此事的公司将把这些内容演变为某种内部框架,或者他们会选择一些没有PHP历史缺陷的东西,比如Django或Ruby on Rails。
如果你刚开始学习,有几个不错的MVC框架可以为你的所有开发人员提供良好的基础。以下排名不分先后: 当然还有其他的框架。
话虽如此,最终还是要根据具体情况而定。有时候,使用框架可能没有意义,或者会过度设计,在某些情况下,你最好使用预构建产品(如CMS)并为其构建扩展。

8

大多数框架都专注于表现层。现在,“企业”当然是一个相当模糊的术语,但我认为您指的是更典型的IT任务,例如会计、CRM等。对于这些任务,表现层只占整个应用程序的很小一部分。这不仅使这些框架变得不那么重要,而且实际上有点不合格,因为您不希望它们对模型层施加限制。


1
现在这个答案是我真的喜欢的!这是如此真实,我发现即使是 Django 的(好吧,那不是 PHP 但仍然:P)模型层对于你回答中概述的目的来说也太过严格。大多数情况下,更容易从头开始编写模型层,然后添加一些演示,而不是尝试调整框架以满足您的需求。 - shylent
在这里感觉有点相同 - 自定义内部应用程序。 - namespaceform

3
我认为使用框架越来越普遍。几年前,大多数程序员开发自己的框架。但是为这样的框架培训新员工的成本越来越高。因此,现在许多公司正在转向知名的框架。
我猜Zend目前是企业环境中使用最广泛的框架之一。一个原因是它不会对模型层施加任何限制。
我无法预测未来,但我猜Flow3也将在未来得到使用。它是Typo3背后的新框架。那些需要编写Web应用程序的Typo3开发人员(网页设计师)可能会使用Flow3。

2
根据Sitepoint在2015年的工作调查(7554个调查参与者),使用最广泛的五个框架是:
  1. Laravel(22%)
  2. Symfony2(14%)
  3. Nette(9%)
  4. CodeIgniter(8%)
  5. Yii 2(7%)
此外,调查结果表明:
  • 5%使用公司内部框架,
  • 3%根本不使用框架,
  • 3%为所有内容使用CMS,
  • 1%使用简单的MVC框架。

PHP Framework Popularity at Work survey by Sitepoint, 2015

似乎存在不同大陆的框架偏好:在美洲和亚洲,Laravel 似乎是首选框架(除了俄罗斯:Yii 2),而在欧洲,更多人使用 Symfony2。(请注意,这只是来自一种参考资料--见上述链接。)

2

我曾在最近的三个工作地点中工作,这些公司都有自己的(私有的,在内部构建的)框架。


0
你可能想看看www.flow3.org,它是一个相当全面的PHP应用程序框架方法,并且正在迅速接近其首个主流Beta版本发布。

0

我有使用CI、yiiframework和calephp的经验(不是很多),我的观点是CI不如其他两个框架灵活,因此我不建议在大型项目中使用它。 任何持不同意见的人,只需尝试使用cakephp和Yii创建演示项目,就会发现它们在crud、表单验证等方面更加容易。 当然,所有框架都有其缺点 :)


0
最近我和一家公司的CTO谈论了一个电子讲座解决方案,我们谈论了一段时间的PHP...我们都认为,它不是最好的用于坚如磐石的解决方案的语言,但他指出了symfony框架,他们在转向Java之前使用过...
此外,raffael提到的flow3非常强大...对我来说最有趣的事情是,它将AOP引入了PHP...
问候,
back2dos

0

我所知道的唯一面向企业级开发的框架是Zend Framework。而CakePHP、Code Igniter以及其他框架则注重于RAD开发。


2
我从未使用过Zend,但我不同意其他人的看法。通过我与CodeIgniter的简短接触,我没有看到它在大型项目上不适用的理由。至于“企业级”,当我弄清楚它的含义时,我会变得更聪明;-) - roryf
3
企业级意味着“易于采用”、“易于更替”、“易于维护”和商业授权。以框架为例,“易于采用”和“易于更替”意味着您可以逐步实施,而“易于维护”则表示在版本发布之间行为可预测,代码结构透明且供应商提供支持。 - Joeri Sebrechts
“商业许可证”我不同意 - 许多开源项目(特别是在Java和.NET领域)都符合您的“企业级”标准。 - roryf
@Rory Fitzpatrick:大规模项目并不意味着企业级项目。例如,Code Igniter在发布/消费Web服务方面有多好?或者使用您公司的LDAP服务器进行用户身份验证? - knoopx

-2

我不确定PHP是否已经进入了美国的企业市场,但当我在一家公司办公时,他们使用的语言是Microsoft .NET。 在我看来,PHP尚未进入企业世界。它在黑客世界很受欢迎,也许在微型和小型软件/网络公司中也很流行。


1
黑客世界?你在说什么呢?;) - Strae
有很多公司使用 PHP。 - Dreaded semicolon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接