大家觉得好用的 PHP 框架有哪些啊?

2015-09-17 15:09:55 +08:00
 ibiger

Yii 这个用起来好啰嗦。

7825 次点击
所在节点    PHP
97 条回复
maddot
2015-09-18 12:18:25 +08:00
笑死了,理由里果然有 PHP 用->,而别的语言用.
raincious
2015-09-18 12:19:05 +08:00
@gaitana

这不是正确的回帖格式。正确的格式是:

我使用纯 PHP ,在没有使用任何框架的情况下,支撑了_万行源代码的程序,并且承载了___万访问量。平均故障率低于千分之_。
xuxu
2015-09-18 12:23:20 +08:00
@gaitana 人家来问大家觉得好用的 PHP 框架,主题不是讨论哪个语言好用。
不用理我 我就是来看看大师们讨论。
gaitana
2015-09-18 12:23:54 +08:00
@curiousjude MVC 架构不等于用框架,一个__autoload 函数就可以让一个类对应一个同名 php 文件,此为 M , V 更好办了, php 是天生的模板语言,在 html 里面使用<?= $var ?>跟 rails 模板的<%= var %>有区别吗?至于 MVC 中的 C , article.php 、 user.php 、 comment.php 这些就是 C ,用一个 include 语句包含模板文件,也可以在 C 中实现 restful :
articel_add.php
article_index.php
article_update.php
article_destroy.php
或者:
article/add.php
article/index.php
article/update.php
article/destroy.php
gaitana
2015-09-18 12:26:55 +08:00
@raincious 按我 63 楼自己实现的 MVC 架构,可维护性丝毫不低于框架。至于支撑访问量,原生 php 肯定会比框架高几个数量级的,框架越大越臃肿越慢。
raincious
2015-09-18 12:49:06 +08:00
@gaitana

首先,凭借“肯定会比框架高几个数量级的”这句话,我能猜测你并没有数据来证明你的观点么?

第二,其实你这么做之后,慢慢的就会发现自己整出了一个框架。事实上我第一个框架就是这么来的。但是这种方式整出来的框架十有八九有问题,因为历史代码太多,很难形成一个完善的程序流,远不如一开始就 Follow 一个框架的开发规范,这样开发流程还能相对稳定些,大家配合也会好很多。

我想说的是,任何东西的存在都是有合理性的。常见的场景是,当你遇到了某种瓶颈之后,自然而然的就回去想着用某种方式解决。你有没有考虑过各种各样的“框架”实际上就是这种东西的产物?所以不要因为你用不到而认为所有人都用不到。
curiousjude
2015-09-18 12:54:18 +08:00
@gaitana 我觉得你没有说服我。
1. ORM 的问题,你举的例子没有说服力,「->」和「.」哪个更好看这个完全是主观的,我就觉得没有什么区别,况且 ORM 又不只是为了更好看。 ORM 本身就是为了解决使用的原生 SQL 的不便,和一些其他问题(比如安全处理)才创造出来的,除非你指出 ORM 无法解决这些问题,或在某些场景下没有必要,才有说服力。

2. 至于你说的 PHP 内置函数的问题,我并不觉得框架(或库)对一些函数进行封装就一定是不合理的,比如 curl 系列函数,纯面向过程,那么如果你不对它封装一下写 OOP 程序应该很不好处理吧,具体可以参照一下 Facebook 的 SDK 。我觉得框架重新封装一些函数不仅仅是为了更好看,也是为了统一接口,这样才能保持一定的灵活性,当然有时很难平衡这个度。

3. 我觉得框架存在的意义是更便利地解决解决一些通用的问题,比如你们之前提到的 Route , ORM , Templating ,如果问题这些在你的应用场景下不存在或不重要,那自然可以不用框架。你提出的模板解决方法,功能性是有缺失的,比如布局处理,全局的安全处理(比如 htmlentities )等。
yangmls
2015-09-18 12:58:09 +08:00
@gaitana

define ('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);

这种过时的代码都能拿来推荐,牛逼!

看来阁下完全不写测试。
mcfog
2015-09-18 13:05:06 +08:00
哈哈哈

肯定会 听起来就觉得 丑爆了 yo 丑爆了

脑内 RAP 停不下来了怎么办
DualWield
2015-09-18 13:20:14 +08:00
@gaitana ”至于支撑访问量,原生 php 肯定会比框架高几个数量级的,框架越大越臃肿越慢。“ ,我只能呵呵回敬你。我觉得你根本不懂软件工程这 4 个字,框架是为了让人更方便快速的书写代码,复用性,可维护性等多个方面考虑,支撑访问量这个角度,难道淘宝双 11 他们就不用框架了?全部都是手写吗?
gaitana
2015-09-18 13:23:11 +08:00
@DualWield 大侠,干了这碗“呵呵”,为你和你的家人 ^_^
chalio
2015-09-18 13:29:17 +08:00
把我以前的回复再黏贴一次:
女神:你能让这个论坛的人都吵起来,我今晚就跟你走。 程序猿: PHP 语言是最好的语言! 论坛炸锅了,各种吵架。 女神:服了你了,我们走吧,你想干啥都行。 程序猿:今天不行,我一定要说服他们, PHP 语言是最好的语言!
他妈的这有啥好争的,爱用啥用啥,哪个顺手用啥, boss 叫用啥用啥,看需求呗,东西死的人是活的。
msg7086
2015-09-18 13:31:36 +08:00
@gaitana
PHP 表达能力不足是硬伤,毕竟从 C 系继承下来,没办法表达增强。当年看到 ORM 的 -> 和 :: 混用的时候我就想吐了。
小时候做开发最后都得沦落到自己写框架写路由,模板 Smarty ,数据库姑且用 ADOdb 凑合,至少不至于用很恶心的 Prepare () 和 <%= %> (而且没记错的话后者最近刚被开发团队吃掉了)。
其实你的论点「 PHP 不需要框架」,背后的意思应该是,到了需要用框架规模的开发了,就老老实实转用别的语言吧,的意思吧?
curiousjude
2015-09-18 13:38:40 +08:00
各位不要太激动啊,@gaitana 并没有说不支持使用框架,而是说 PHP 不要使用框架,鼓励大家使用原生的语法处理模板,使用内置函数直接处理问题等。当然这些我个人都不赞同。

我对 @gaitana 这种一刀切的观点是不赞同的,没有具体的应用场景就直接说 PHP 不应该使用框架,这才是「会对新人造成误导」。
gaitana
2015-09-18 13:38:41 +08:00
@msg7086 就是那个意思,到用框架的规模 PHP 的优势就不大了。那一堆堆的 [-> 和 :: ] 并不比用函数清晰,比如 Classname::method () 我宁愿定义成 classname_method ()这种命名的函数。
iyaozhen
2015-09-18 13:39:49 +08:00
CodeIgniter 3 +1
msg7086
2015-09-18 14:03:56 +08:00
@gaitana Fair enough 说的在理。
lusizeng
2015-09-18 14:09:02 +08:00
phalcon,你会喜欢上的
maddot
2015-09-18 14:09:57 +08:00
Every kids that have been writen a hello word with other programming language are qualified to criticise PHP
maddot
2015-09-18 14:11:17 +08:00
Every kid that has been written a hello word with other programming language is qualified to criticise PHP

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

https://www.v2ex.com/t/221459

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

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

© 2021 V2EX