就拿我接触的几种框架举例:
yaf框架优点: 这个框架特别nice ,速度快个人除了tp5久喜欢这个框架啦
其实, 来点简单的,我认为yaf最大的有点是性能,这不是一般的快,性能比其他php框架快上十几倍,和原生的php相差不是非常多。缺点也很明显,毕竟是C的扩展,如果程序有漏洞,作者未及时更新,使用者在不懂C的情况下,只能看着网站受辱或者祈祷,或者关闭网站.
ci框架优点:适合的项目类型:
快捷开发,博客、小型网站
CodeIgniter的主要特性如下: * 基于 MVC 体系 * 超轻量级 * 对数种数据库平台的全特性支持的数据库类 * Active Record 支持 * 表单与数据验证 * 安全性与 XSS 过滤 * Session 管理 * 邮件发送类,支持附件,HTML 或文本邮件,多协议(sendmail, SMTP 和 Mail)及更多。 * 图像处理类库(剪裁,缩放,旋转等)。支持 GD,ImageMagick 和 BetPBM * 文件上传类 * FTP 类 * 本地化 * 分页 * 数据加密 * 基准测试 * 全页面缓存 * 错误日志 * 应用程序评测 * 日历类 * User-Agent 类 * Zip 编码类 * 模板引擎类 * Trackback 类 * XML-RPC 类库 * 单元测试类 * “搜索引擎友好”的 URL * 灵活的 URI 路由 * 支持钩子和类扩展 * 大量的辅助函数
yii框架优点:个人觉得适用于大型项目
1.从开发效率上来说,YII明显更胜一筹
2.但是从入门难度上来说,TP更胜一筹,文档也是tp更好。
3.从支持来说,YII的扩展要更多,因为国外也有一拨人在开发,毕竟他在国外也算是主流框架之一。而tp的大部分扩展靠的是官方。
4.tp的定位可能是轻量级的快速开发,yii可能是中小量级的高效开发。两者定位上可能有所区别。
5.有很多大站、高并发的站是用yii做的,导致在名声上,yii听上去比tp高大上,事实上初学者也不可能去做大项目。
6、Yii 框架的代码风格上于net比较接近,可以很方便的阅读php代码,上手快。
7、Yii 的框架对扩展支持相当高,很方便扩展,
8、很重要的性能,Yii 的性能相对优秀,而且属于轻量级框架。spl_autoload_register 预注册,按需载入文件等对性能都有很大提高。
8、modules 设计是一个很优秀的东西,他理论上可以无限嵌套,当然不建议嵌套超过三层。
9、widget 窗口小部件的应用,可以更加方便的构造通用模块。
10、其实集成的model,以及CActiveRecord模式 包含的验证机制,都是很好的东西,但是约束性也相对强一些。
11、Yii框架封装了各种缓存方式,让你只需要调用统一的方法就可以在不同的缓存中切换。
tp5.0框架优点 这个是我最喜欢的框架做什么项目都可以
1.高级模型:可以轻松支持序列化字段、文本字段、只读字段、延迟写入、乐观锁、数据分表等高级特性。
2、视图模型:轻松动态地创建数据库视图,多表查询相对简单。
3、关联模型:让你以出乎意料的简单、灵活的方式完成多表的关联操作。
4、模板引擎:系统内建了一款卓越的基于XML的编译型模板引擎,支持两种类型的模板标签,融合了Smarty和JSP标签库的思想,支持标签库扩展。通过驱动还可以支持Smarty、EaseTemplate、TemplateLite、Smart等第三方模板引擎。
5、缓存机制:系统支持包括文件方式、APC、Db、Memcache、Shmop、Eaccelerator和Xcache在内的多种动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作。
6、类库导入:ThinkPHP是首先采用基于类库包和命名空间的方式导入类库,让类库导入看起来更加简单清晰,而且还支持冲突检测和别名导入。为了方便项目的跨平台移植,系统还可以严格检查加载文件的大小写。
7、扩展机制:系统支持包括类库扩展、驱动扩展、应用扩展、模型扩展、控制器扩展、标签库扩展、模板引擎扩展、Widget扩展、行为扩展和模式扩展在内的强大灵活的扩展机制,让你不再受限于核心的不足和无所适从,随心DIY自己的框架和扩展应用。
8、URL模式:系统支持普通模式、PATHINFO模式、REWRITE模式和兼容模式的URL方式,支持不同的服务器和运行模式的部署,配合URL路由功能,让你随心所欲的构建需要的URL地址和进行SEO优化工作。
9、编译机制:独创的核心编译和项目的动态编译机制,有效减少OOP开发中文件加载的性能开销。ALLINONE模式更是让你体验飞一般的感觉。
10、ORM:简洁轻巧的ORM实现,配合简单的CURD以及AR模式,让开发效率无处不在。
11、查询语言:内建丰富的查询机制,包括组合查询、复合查询、区间查询、统计查询、定位查询、动态查询和原生查询,让你的数据查询简洁高效。
12、动态模型:无需创建任何对应的模型类,轻松完成CURD操作,支持多种模型之间的动态切换,让你领略数据操作的无比畅快和最佳体验。
13、分组模块:不用担心大项目的分工协调和部署问题,分组模块帮你解决跨项目的难题。
14、AJAX支持:内置AJAX数据返回方法,支持JSON、XML和EVAL格式返回客户端,并且系统不绑定任何AJAX类库,可随意使用自己熟悉的AJAX类库进行操作。
15、多语言支持:系统支持语言包功能,项目和模块都可以有单独的语言包,并且可以自动检测浏览器语言自动载入对应的语言包。
16、模式扩展:除了标准模式外,系统内置了Lite、Thin和Cli模式,针对不同级别的应用开发提供最佳核心框架,还可以自定义模式扩展。
17、自动验证和完成:自动完成表单数据的验证和过滤,生成安全的数据对象。
18、字段类型检测:字段类型强制转换,确保数据写入和查询更安全。
19、数据库特性:系统支持多数据库连接和动态切换机制,支持分布式数据库。犹如企业开发的一把利刃,跨数据库应用和分布式支持从此无忧。
laravel框架 优点: 今年突然火起来的框架,个人感觉也还不错(每句代码表达的意思很强烈,易懂)
Laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD和BDD,作为一个框架,它为你准备好了一切,composer是个php的未来,没有composer,PHP肯定要走向没落。
laravel最大的特点和优秀之处就是集合了php比较新的特性,以及各种各样的设计模式,Ioc容器,依赖注入等。因此laravel是一个适合学习的框架,他和其他的框架思想有着极大的不同,这也要求你非常熟练php,基础扎实。
如果你觉得laravel很困难 那么原因只有一个 你php基础不够好。
通常觉得Laravel难学且无用的开发者中,只会PHP一门语言,或者说,没有静态编译型语言(如C/C++/Java/Go等)使用经验的开发者占绝大多数。
路由和orm部分,和前端backbone之类的结合应该很契合,还是很不错的,另外composer是个很好东西,关于效率问题,web程序的运行效率从来就不在框架,而在数据库,框架那一点点消耗根本不会是什么负担。
laravel框架还是蛮不错的,可以说非常全面,配合phpstorm开发还是很好的。