首页 > 希望俄各位推荐一下PHP框架

希望俄各位推荐一下PHP框架

玩了3个多月的ThinkPHP(说实话我感觉ThinkPHP目录有点多,不过蛮喜欢的分的细)
现在打算玩别的框架 比如说
我知道有个 Laravel (英语不太好 每次而且每次去bootcss都会看到它有中文文档有点倾向Laravel )
不打算盲目下手
希望俄各位说说自己的建议和心得


ThinkPHP从开始玩php就没用过,但是会,如果有项目已经用tp做过了,能接着做。
用过laravel,这个框架单纯看手册很简单,排错挺麻烦的,日志里记了一堆没用的东西。线上看日志的时候累死人。
目前主要用yii2,这个框架HMVC模式开发挺好。结构还行,就是核心入口初始化继承了最少4层,对于想研究他内核和几个类原理的同学基础不扎实要费点事了。

总结就是一句话,用适合这个项目的框架就行了。


支持 @vinzao

在学校的时候,学了好多乱七八糟的东西。
比较喜欢 laravel 框架,用来做了数据库的课程设计等。

这个暑假出来实习,发现首先得满足业务嘛~
公司用的是ThinkPHP框架,
因为已经比较了解MVC的概念了,
加上对PHP也有了解,
所以上手比较快。

假如你学了 ThinkPHP
去面试要求说给你很多钱,
但是得用laravel呢?
你会怎么选?

所以不要太过纠结于学习什么啦,
打好基础是关键,
或许明年或者后年就又来个lionis框架。(臭屁下?)

平时玩玩好玩的也不错哦~
加油加油~

如果,你只是为了找工作,那就学ThinkPHP吧!
如果,你只是纯粹的兴趣,不想花费太多精力,那就学Laravel吧!
如果,你想找的是目前PHP框架里架构最先进,生态系统最成熟,学习过程中还会对你的PHP水平能够有所提升的框架的话,学一下Symfony吧!(警告!学习曲线极为陡峭!)(再次警告,我没玩过这个东东。)


框架只是工具, 当然工具也有优劣之分.
TP非常适合初学者,但是设计的有点乱且不支持composer.
CI框架非常简单易用, 扩展起来比较方便, 支持composer, 但是没有支持命名空间. 而且过于简单,使用起来要造不少轮子.
yii很好用, 尤其是gii快速生成工具, 爽飞了.支持composer, 设计优雅, 非常推荐.
laravel也很好用, 设计得非常好, middleware, service provider等特性使得编码非常灵活。 使用了很多symfony的包, 完全支持composer.
symfony不用说了,非常牛B的设计。laravel, drupal等牛B的项目都是基于symfony的包开发。学习symfony不止是学习一个框架, 而是学习web开发. 每介绍一个新特性,都会告诉你为什么要使用这个新特性。必学的框架,学习完这个框架之后,设计能力上涨不少。
swoole framework,也是一个蛮好用的框架,没有在项目中使用过.

还有一些C写的框架
yaf
phalcon

很多人在学习了composer之后,就觉得其实组装一个框架,也不是很难的事情.


个人建议最好去看看 Laravel、Symfony 或者 ZendFramework 这一类新式框架,用是一方面,主要是学习其设计思想比较重要,TP 这种东西就是赶时间随手拿来用用,对技术不会有什么长进的!


现在在用cakephp 有点小众 资料只能去官网看,有问题只能gg或者去stackoverflow QAQ
推荐你选个用户活跃的 查资料问问题互相交流也方便


接触的框架并不多,当前项目使用的就是 laravel,说下心得:

  1. laravel学习成本并不低,可能跟本人水平有关。

  2. 官方文档在几个核心模块上的描述不够清晰,需要有一定的积累才能充分理解,如:Service ProvidersService Container

  3. 理解框架的设计思想和模式后,才能让框架发挥最大的效率。

ThinkPHP使用不多,但是做过几个外包都是用它来快速搭建的,感觉比laravel容易上手,但是精通就不敢说了。


我用的是corethink,代码质量蛮高,注释完善,官网上免费下载,你可以试试


框架只是个工具


可能是因为我偏执的不喜欢Laravel的全局函数
所以深深的爱上了Yii2


才"玩儿"了3个多月啊?3个月里面每天都保证至少8小时开发吗?做出来什么能正式运行的站点吗?
熟悉一个框架最低的限度就是用它完整的完成过至少一个可以正式运行的站点,这样会涉及到最常用的功能,如路由、权限、MVC、布局、表单、校验、安全、多语言、本地化、缓存、部署与迁移等功能,同时对于框架中针对当前项目不是特别顺手的部分应该有能力对其扩展和优化。

其实所有的框架在思路上是大同小异的,只是具体实现手法不同,以及由此派生的各种开发辅助工具不同,相对于掌握很多框架,精通一个框架更有效率,你会发现随着对当前框架了解的越多,以后遇到其他框架的时候上手越快。

注意一个误区:框架本身不涉及业务逻辑,所以能在框架基础上实现业务逻辑不等于掌握了该框架,而是要求你能快速部署、配置、扩展框架,使其能够更好的融合到当前项目中,并切实的为后续开发提供尽可能多的便利。

此外还有一个学习期的开发者的通病要十分注意:细节才是项目成败的根本,可是学习者往往没有细节意识。例如表单集成验证,
1-不验证不影响学习,
2-简单验证了解Validator就行,
3-复杂点的联合唯一验证和本地化的时间日期格式校对就有些麻烦了,
4-如果前后台校验规则需要保持一致就头疼了,
5-再加上错误提示的多语言支持就暗无天日了。
大部分学习者在完成2之后就沾沾自喜的认为自己已经会了,然而实际开发的时候3是必然的,稍微严格一点就要到4,至于是不是需要完成5更是客户一句话的事儿。

同学,综上所述,不着急学新的。


排名不分先后:
混饭吃用 TP(传统的简易框架)
爱学习用 Laravel(现代化的优雅框架)
要有深度要复杂要给力要有逼格用 Symfony(现代思路下的传统的重型框架)
要兼具但都不深究的用 Yii2(饱满的现代化框架)
是初学者用原生(PHP 难道不就是文本处理脚本吗?初学者老老实实学学基础吧,否则上述框架也就到 TP 咯)

另外,所有跟你说框架性能不好的不要选、框架构架差的不要选、框架是歧途的不要选,凡是 重心 在想方设法 告诉你不要选 而不是为什么 不建议 不要选的人,通通拉黑,对你以后的发展也有好处(你也不要成为这种人)~


可以试试mzphp:

https://git.oschina.net/mz/mzphp2

追求性能和开发效率 不追求学术


框架于我如浮云,学好PHP本身,以不变应万变,不用框架方能自成一家.
不对框架唯命是从,自己分离下逻辑和模板实现MVC就好.

/index.php (页面控制器)
require __DIR__.'/include/common.php';
render('index.php');

/include/common.php (公共操作)
require __DIR__.'/funclass.php';

/include/funclass.php (函数和类)
function render($view) {
    require __DIR__.'/../view/'.$view;
}

/view/index.php (模板)
require __DIR__.'/header.php';
require __DIR__.'/footer.php';

越小的代码规模,PHP性能就越好.
事实上PHP是一门反框架的语言,框架的代码规模对PHP性能影响还是比较大的.
很多PHP框架貌似想在PHP基础上自己再搞个层出来架空PHP.
PHP本来是一种非常高级的语言,这些框架却有把它变成底层语言的意思.
完全可以说,PHP框架被RoR和JavaEE带上了邪路.
简言之,就是本来简单的问题被框架复杂化了.

补充: Good code is cheap code 提到

知晓各种设计模式,框架,技术技巧只是事情的一方面,而知道何时该、何时不该应用它们才是更重要的问题。 在不知道一种技巧方式如何能对系统的开发有帮助的情况下,这种模式方法极有可能成为一种开发的阻碍,而不是一种有益的帮助。 了解你的设计模式,知道它们各自的优缺点,不要本本主义。 当模式能够给你带来好处,而且为你省时时才去使用它们,如果不是这样就不要使用它们。 当框架能够帮你提高开发速度时才使用它们。 在必要的时候重构,不要做一些超前性的开发。 我想,如果你能按照这些指导原则做事,你会发现开发周期变短、实现的代码更简洁,易于调试,易于维护修改。


这是一言不合就换框架啊

说实话你用ThinkPHP碰到了什么问题?是影响了你的开发效率还是性能瓶颈?

所以个人建议:

多实践一些商业项目,碰到问题了,发现你尝试着去解决,能力不够解决不掉,然后发现也不是ThinkPHP能解决掉的,你再选型其他框架是否有对应的解决方案。

但是据我了解,一般瓶颈都不会发生在语言和框架层面,除非负载到了一定的量级,需要去追求那几百几十毫秒的性能问题的时候。

但是话说回来,去研究和接触一些其他框架的思想倒是很有必要的,相当于为以后做准备,但是盲目的更换不可取,还影响深入实践商业项目的机会和进度。


从工作机会的角度考虑(至少从数量上,国内公司倾向于此框架) ==> ThinkPHP
从流行趋势角度考虑(学习成本低,社区很活跃) ==> Laravel
从框架本身的优势考虑(架构最先进,生态系统最成熟) ==> Symfony

如果,你只是为了找工作,那就学ThinkPHP吧!
如果,你只是纯粹的兴趣,不想花费太多精力,那就学Laravel吧!
如果,你想找的是目前PHP框架里架构最先进,生态系统最成熟,学习过程中还会对你的PHP水平能够有所提升的框架的话,学一下Symfony吧!(警告!学习曲线极为陡峭!)


推荐Laravel:最好的 PHP 框架是什么?为什么?——知乎

Because Laravel is amazing and It is the future.

当然YII2也是不错的。


我最近也在看THINKPHP5的文档,5版本有大幅度更新,有点倾向于纯OOP的框架了,强烈推荐thinkphp5

【热门文章】
【热门文章】