PHP的MVC框架哪一个性价比最高

 我来答
白度大佬
2015-10-12
知道答主
回答量:50
采纳率:50%
帮助的人:13.3万
展开全部
1、国内常用的TinkPHP 比较适中
2、Codelgniter 以它的简单易用,性能和速度而闻名。与 Symphony 不同,这款PHP开发框架对于共享主机的用户而言很理想,如果你想有一个小型覆盖面的框架。它提供了简单的解决方案,还有扩展的知识库,通过视频教程,用户指南和wiki来提供支持。
3、Yii 是一个基于组件、用于开发大型 Web 应用的 高性能 PHP 框架。它将 Web 编程中的可重用性发挥到极致,能够显著加速开发进程。Yii(读作“易”),代表简单(easy)、高效(efficient)、可扩展(extensible)。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-09-18
展开全部
主要看场合~
追求高性能ci
追求高效率,yii
框架那么多,总有那么一个适合你
如果找不到,那么请造轮子吧~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喻侬公叔优
2015-08-28 · TA获得超过3673个赞
知道大有可为答主
回答量:3116
采纳率:32%
帮助的人:168万
展开全部
要看你是想做什么网站了,有电商网站,企业展示站,等等,他们都有开源的系统,具体还要看你需要什么功能,是不是还要进行二次开发,模板设计。性能也还要涉及看你们网站规划了,日均IP可以达到多少,等一些相关的东西。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lilipat
高粉答主

2017-09-19 · 每个回答都超有意思的
知道大有可为答主
回答量:3万
采纳率:94%
帮助的人:4805万
展开全部
PHP的MVC框架哪一个性价比最高?yii2 还是 thinkphp
一直接触和使用的是thinkphp和codeigniter,没有用过其他的PHP MVC框架。
现在正在重构一个功能比较多的网站,但是工作时间太忙,回家时间很零散,所以需要快速完成上线。

在公司用thinkphp ci,回家里也用thinkphp来做,感觉头都快炸了,真担心全都混淆了。
所以想换一种。以前用过yii 1.x 体验不是很好,不支持命名空间,安装方法古怪。
想讨论哪一种 PHP MVC框架比较有前景(不会过一两年就散伙了)。
符合以下几个特点:

1)发行的稳定版本 支持命名空间,自动加载
2)比较出名或者流行,有很大一个使用群体
3)至少有一个正式的官网
4)性能强大,扩展性强
5)符合编程规范
6)长远角度来看,团队不会突然解散(比较看重)
7)不是小打小闹,应用很广泛。
这个问题已被关闭,原因:无法获得确切结果的问题

哪个 PHP 框架更好是一个古老的问题,时至今日终于有了答案。
PHP 框架史话
PHP 是一种神奇的技术,可以嵌入 HTML 代码中执行。PHP 依赖这个前无古人后无来者的运行方式,成为了一门 “语言”。PHP 为 web 而生,伴随着 web 成长,她本身就是一个高度抽象的框架,所有内置函数,例如 phpinfo(),本质上都是强大功能的一个接口。

在本身就是 web 框架的 PHP 之上,懒惰的程序员依然想干更少的活儿做到同样的功能,所以就有了积累下来的常用函数群。然后,伴随着 PHP 的进步,又有了常用类,常用库,然后又有了常用设计模式以实现更多的代码复用,最后,一个又一个的 PHP 框架就这样诞生了。

紧接着人们发现,在把 PHP 作为主要开发语言大规模使用以后,PHP 代码的可协作性又成了一个很大的问题,于是各种 “轻量级框架” 就开始出现,其中最著名的当属 CodeIgniter 了。实际上,稍微有一点规模的团队和稍微有两年经验的程序员都会有自己的 PHP 框架,这类微框架基本只解决一个核心问题:路由。因为只有这一个东西是对所有项目都通用的。

Laravel
同时,在追求开发效率的道路上,各路重型框架层出不穷,Zend Framework、CakePHP、Yii、Kohana、Symfony、Laravel,一个比一个吹得响亮,一个比一个复杂。当下,占有率和出镜率最高的当属 Laravel 了:在国外火了一段时间了,在国内的大潮正在兴起。

Laravel 可以极大地提高开发效率。
对 Laravel 感兴趣的可以看一下我写的系列教程:Laravel 4 系列入门教程【最适合中国人的Laravel教程】,目前阅读量和反响都还不错,评论里也积累了不少常见错误和解决办法,我也会第一时间回复大家的评论。

Laravel 取得今天如此之高的成就,并不是因为作者水平有多高,PHP 经验有多丰富。实际上 Laravel 的作者 Taylor Otwell 之前是一名 .NET 程序员,本科毕业后写了三年的 .NET,然后转向 PHP,创造了伟大的 Laravel。为什么?因为没有思路上的限制。PHP 从一堆可以直接调用的 function 发展而来,为了向下兼容保留了很多非常强大的函数,正是这些函数,让 PHP 熟手们跟不上 PHP 的发展潮流,无法正视并使用 PHP5 以来优秀的新思想、新特性。如今 PHP 已经在向一门通用面向对象语言进化,具备了 类与对象、命名空间、接口、抽象类 等很多高级特性,Taylor Otwell 正是使用了这些高级特性,才构造出了今天的 Laravel。

鸟哥 Laruence 目前正在做 PHP7 的 JIT 组件,还在开发中的 PHP7-JIT 已经比 HHVM 有了成倍的性能优势。这也是我没有提那几个 C 扩展框架的原因:JIT 一出,C 扩展框架的修改困难的劣势将大大超过那一点点性能优势,性能优势可能都会完全消失。让我们拭目以待!

Composer 一统天下
“Composer 一统天下的时代已经到来!” ——白岩松 (:-D)
Composer 可以看成一个 PHP 的包管理器,类似 Python 的 easy_install 和 pip,Ruby 的 gem,Node.js 的 npm,是一个强大的生态系统。关于 Composer 的详细介绍和用法可以参考我写的另一篇文章:利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备。

为 web 而生的 PHP 一直缺少一个 web 时代的包管理器,直至 Composer 横空出世。之前 PHP 框架的传递都是通过代码文件压缩包,多么辛酸。PHP 有一个官方的“扩展库” PEAR,但是入库标准极为严格,对代码的要求很高,而且传递代码的方式也是下载压缩包。:-(

Laravel 取得成功的另一个非常重要的原因就是依靠 Composer 社区。Laravel 采用了大量的第三方包,其中就有许多著名的 Symfony 基础组件。

到底哪个框架更好?
当下,但从开发效率和社区发展的角度讲,首推 Laravel,她也完全满足题主的几点要求。
但是强大的工具都需要长时间的学习,Laravel 学起来可能没有那么容易。当然,主要原因不在 Laravel 用了多少高级特性,而在于大多数 PHP 程序员都抱着旧 PHP 的思想不肯放手。学习 Laravel 的过程就是转变思想的过程,改变写 PHP 的姿势的过程,这个过程会比较困难,但是也能够学到很多很多。

如果广义地回答这个问题,当下最强大的框架当然是 Composer,因为她不是一个框架,是一个强大的生态系统。

关于问题中的 Yii2 和 ThinkPHP
Yii2 前几天刚刚发布,号称基于 Composer,我体验了一下,跟 CodeIgniter 3 号称的基于 Composer 是一样的:把自己发布到了 Composer 社区而已。几乎没有对其他 Composer 包的依赖,还是走的以前的老路。积重难返,止步不前。再怎么大而全也是拼不过整个社区数万个小而美的。

ThinkPHP 作为国产最流行框架我以前是很支持的,后来我因为项目要求使用了一次。当我看到 A() C() D() F() G() I() L() M() N() S() 函数的时候直接吓尿了,你知道 C() 是干啥的不?控制器 Controller?缓存 Cache?不是,人家是 Config,操作配置文件的。这样设计的代码可读性基本为零。

其他框架
Codeigniter 2 with Eloquent ORM
如果你对 CodeIgniter 比较熟悉,但是已经厌烦了繁琐的 Active Record 的话,我做了一个 Codeigniter 2 with Eloquent ORM 的项目,把 Laravel 中最强大的部分 Eloquent ORM 融合到了 CodeIgniter 2.2.0 里面。详见:给 CI 插上翅膀——在 CodeIgniter 2 中使用 Laravel Eloquent ORM

TinyLara
最后,大家也可以尝试一下我使用 Composer 构建的 Laravel 的精简版: TinyLara (官方网站:http://tinylara.com/ ),使用了 Laravel 中最强大的部分 Eloquent ORM,其他部分保持最精简,欢迎大家尝试,提出意见和建议!
2014年10月30日更新10 评论赞赏编辑

JohnLui
认真看完了,感觉良多,遗憾的是没能看到你谈谈对symfony见解。

thinkphp的26个字母方法简直是醉了

— 夜未央 · 2015年01月17日
同是laravel爱好者,支持层主,对于层主关于路由和composer的理解深以为然,laravel不说别的,官网上醒目的“表现力”三字就是它的精髓

— ChieveiT · 2015年01月17日
Laravel强那里了呢?具体?

— xiasf · 2015年04月18日
回复 夜未央:
是的,吓尿了,翻了翻tp源码,顿时哭了,虽然对开源社区有贡献,但是个人觉得害大于弊

— kehaovista · 2015年07月19日
1
回复 夜未央:
正在用ThinkPHP,很喜欢。单字母方法不要滥用,其实最常用的只有三个:D,M,W。我对此的理解是:高频的动作当然要提供缩写,就象桌面要有图标一样。
同为MVC框架,比拼是的扩展性和社区,这两点,ThinkPHP做得很突出了。从商城到办公,它已经产生大量应用案例了。

— xdeepbreath · 2015年09月10日
回复 kehaovista:
翻了翻,能了解的很有限。

— xdeepbreath · 2015年09月10日
ThinkPHP的大写字母简直看得酸爽。。。

— Dappur · 2016年03月25日
我来告诉你ThinkPHP是怎么获取配置的,Config::get('配置参数'); 文档:http://www.kancloud.cn/manual/thinkphp5/118025

— tomener · 2016年05月24日
1
回复 xdeepbreath:
大写的尴尬,外国很多框架作者都是傻子?人家都提供了二次缩写,但核心代码直接缩写,就相当神奇了。当然,TP本身在国内构建了自己的生态圈,自己玩自己的,外人说得再多,也是没话说。

— 狼骑舞者 · 2016年06月21日
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式