如何选择 PHP 框架?

2016-07-19 20:53:24 +08:00
 livedutvchina

PHP 是世界上最受欢迎的编程语言之—。最近发布的 PHP7 令这种服务器的编程语言比以前变得更好,更稳定了。

PHP 被广泛应用于重大的项目。例如 Facebook 就是使用 PHP 来维护和创建它们的内部系统的。 WordPress 使用 PHP 来驱动它的内部构件,得到的回报是超过 59%的网站都在使用 WordPress 作为内容管理系统。目前,有 82%的网站,它们的服务器端使用的编程语言就是 PHP 。

本文将介绍三种最流行的 PHP 框架: Symfony, Laravel 和 Yii 。将通过三种框架的比较,帮助你选择哪种框架有可能最符合你的需求。

全文: http://www.cnblogs.com/cherry0327/p/5686126.html

8838 次点击
所在节点    PHP
64 条回复
laravel
2016-07-20 15:29:45 +08:00
laravel +1
alen
2016-07-20 15:39:03 +08:00
用过 cake ,看过 Laravel,目前用尔康,坑挺多的欢迎大家入坑。:手动滑稽
good
2016-07-20 16:58:13 +08:00
@tabris17 swoole 的性能很牛逼的, 生产环境使用了 swoole 的 websocket, 虽然刚开始经常 coredump,作者很热心,联系作者能很快的处理 BUG,目前线上非常稳定
tabris17
2016-07-20 17:03:26 +08:00
@good 我还是胆小,等成为业界标准了再说吧
sunsh217
2016-07-20 18:33:50 +08:00
ci +1
gavinczhang
2016-07-20 18:55:55 +08:00
我认为框架只要提供好几个功能点就足够了

1. autoload
2. dev/pro 分离(包括 config 自动载入不同目录下)
3. mvc (不需要所谓的 Smarty 等模板引擎, php 语法足够优秀易懂)
4. db/redis/orm ( ORM 可以实现读写分离,锦上添花而已,毕竟有中间层可以更专业的解决这个问题)
5. router

另外我对一些主流框架(官网提供的最新版)做了性能压测
CodeIgniter 、 yaf 、 yii 、 laravel 、 swoole framework 、 kohana 、 thinkphp

把框架独立到某目录下,其他项目的入口文件统一读取此目录内的框架资源
controller 中载入 view 并传递 title , view 中直接 echo $title ,关闭 debug 等其他调试开关

php7 环境下, 2.5GHZi7 16G 内存
siege -c 500 -t 5s 并发 500 持续 5s

结果:
yaf 1600>swoole 1400>ci 600>thinkphp 280>kohana 277>yii 205>laravel 76
(自己基于上述的 5 个观点开发的小框架,压测性能达到 1500 )

仅供参考。

详情:
http://blog.bingxuecandong.com/?p=262
iVanilla
2016-07-20 19:47:29 +08:00
@tabris17 这个项目确实是 Alpha 阶段,目前不建议用于生产环境,我自己用 PHP7 的 runkit7 的话,会出错的,到时让作者看看。
PHP5 的 pecl 版 runkit 应该没问题(这个扩展目前还不支持 PHP7 ),不知用 Stone Server 能不能在 PHP7 跑,我使用的是 Web 模式。
ThreeBody
2016-07-20 20:11:01 +08:00
翻译得真的是很烂很烂,很多问题,如同上面有人说的,这就等于垃圾营销内容
看了楼主的发帖纪录,全 TMD 是都是推广软文
ghostsf
2016-07-20 20:17:07 +08:00
为什么没人说 TP5
AbrahamGreyson
2016-07-21 00:41:13 +08:00
@tabris17 如果你对轻量的定义就是是否能最大限度的利用计算机资源,那我们没在一个层次上讨论问题。 PHP 自然有他独特的适用场景,我们的讨论都是建立在这个场景之上(你要去使用),而不是深挖坟的说哇我不会横向扩容哦。
brando
2016-07-21 12:10:25 +08:00
Drupal 7 我用的是这个。
breeswish
2016-07-21 12:50:37 +08:00
Phalcon 有些东西比如 template engine 功能残缺,最后还是要换专业的来,比如好用的 twig 。

很多框架大而不全,想用一小部分功能都不行,还是得整个引入;需要的功能没有的时候还是要用其他的

最后, symfony 大法好,谁用谁知道,不仅天生对接的是领域最优秀好用的组件(比如 twig, doctrine ),而且各个组件都可替换。只是性能不好。
iVanilla
2016-07-21 16:51:18 +08:00
@breeswish Laravel 不服(虽然底层还是用了 symfony )
breeswish
2016-07-21 22:32:41 +08:00
@iVanilla Laravel 那模板简直玩具吧= =
iVanilla
2016-07-22 09:58:04 +08:00
@breeswish Blade 比 Twig 好用就是了,就算是玩具也非常强大, Twig 能套原生 PHP ??? Blade 就能。
breeswish
2016-07-22 10:24:44 +08:00
@iVanilla 用原生 PHP 明明是在倒车,那么想用原生 PHP 那还用什么模板 :P
breeswish
2016-07-22 10:28:35 +08:00
@iVanilla 玩具的意思是不具有用于工业级项目的严谨性和规范性,和强大没有什么关系。允许 Eval 就可以做任何事情了,某种程度上可以说这很强大,然而这和玩具没什么关系...
iVanilla
2016-07-22 10:40:52 +08:00
@breeswish 之前在微信群里跟某人争论过 PHP 原生代码和模板引擎,他反对使用模板引擎,说“你是人,你非要套一层猪皮,说:这才是人” 我竟然无言以对。
如果原生 PHP 这么好就不会有人开发模板引擎了,模板引擎很方便,虽然原生 PHP 也能做到,但模板引擎的目的就是让程序猿写着方便。
demon
2016-07-22 11:54:33 +08:00
kopa
2016-07-22 15:04:11 +08:00
CI 的路过

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/293567

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX