Ⅰ thinkphp与yii 哪个更优秀,分别是哪些方面优秀
yii更优秀,而且要比thinkphp优秀很多。
要回答分别是哪些方面优秀我们先要明白,框架是用来干什么的。
框架的作用:1、简化开发。2、提高工程的可维护性。3、规避编程语言本身的坑和陷阱。
那么我们就从这3个方面来讨论下着二者的优劣。
1、简化开发方面:从新手的视角来看(或者表面来看),thinkphp做项目更简单,因为其一提供了大部分web开发常用类库,其二中文手册写的很详细。但事实上,thinkphp有两个缺失的特性导致一旦项目做久或者稍微上规模,就会使人头痛不堪,这缺失的两个特性分别是:完整的AR支持以及完善的多层次模型
其次,web项目开发中大部分代码都是重复的,因此自动化代码生成工具是必不可少的,截至最新的tp3.2.3,我仍然没看到tp对自动化工具有任何支持的迹象
2、可维护性,缺失了完整的AR和多层次模型,代码不可能工整到哪里去,代码一多,源代码必然跟面条一样杂乱。最重要的时,TP没有unitTest,这导致重构都无门。同样,数据库方面,tp缺失了数据迁移工具,这都导致了项目后期维护由很大困难
3、规避编程语言本身的坑和陷阱:tp和Yii都是由PHP做的实现,PHP本身有很多的坑和陷阱,诸如混乱的语言结构与函数傻傻分不清的关系,变量转换的陷阱,凌乱不堪的类库命名。这些在yii里基本都得到了改善,Yii完全用面向对象的方式构建,常用web类库都以组件方式呈现,终于改善了PHP程序员边写代码边网络:‘XX功能该用哪个函数’的情况。反观TP,仅仅对常用类库封装成class,要用什么取什么,根本没做过精心的设计,完全像是一个多年的程序员攒了些类库,然后七拼八凑而成的一个框架,因此我常常说,thinkphp是个伪MVC框架。
Ⅱ PHP中常用的七大框架的优点与缺点
在PHP领域,讨论各种框架的优缺点一直是一个热门话题。本文通过收集整理几个主流框架,如Yii2、Laravel、YAF、ThinkPHP,来探讨它们各自的特点与局限性。如果您有任何疑问,欢迎在评论区提出,让我们共同学习进步。
一、ThinkPHP
ThinkPHP是一款轻量级中型框架,其设计灵感源于Java的Struts结构,采用面向对象的开发模式和MVC模式,对Struts标签库进行了仿真实现。它更加人性化,对于熟悉J2EE开发的人员来说,易于上手。ThinkPHP旨在简化开发流程,提高效率,便于扩展,支持包括MySQL、MSSQL、SQLite、PgSQL、Oracle和PDO在内的多种数据库类型。丰富的文档和示例使其具备很强的兼容性,但功能较为有限,更适合中小型项目的开发。
优点:
缺点:
二、Yii
Yii是一个高性能的PHP框架,适用于开发大型Web应用。它基于严格的OOP编写,拥有完善的库引用和全面的教程,涵盖了MVC、DAO/ActiveRecord、widgets、缓存、等级式RBAC、Web服务、主题化、国际化和本地化等功能,是PHP框架中效率之一。
优点:
缺点:
三、Laravel
Laravel框架设计思想先进,非常适合应用测试驱动开发(TDD)、领域驱动设计(DDD)和行为驱动设计(BDD)。它支持Composer包管理工具,结合了PHP最新特性及各种设计模式,如IoC容器、依赖注入等。
优点:
缺点:
四、CodeIgniter
CodeIgniter推崇“简单就是美”原则,代码简洁,易于上手。配置简单,使用PHP脚本配置,执行效率高,具有基本的路由、布局、数据库操作等功能,自带实用的库,适合小型应用。
优点:
缺点:
五、Zend Framework
Zend Framework具有高度模块化和灵活性,大量应用PHP5面向对象新特性,遵循面向接口编程和单一对象职责原则,官方出品,自带大量库,架构优雅,执行效率适中,支持MVC设计,具备路由、缓存、数据库操作等强大功能,文档齐全。
优点:
缺点:
六、CakePHP
CakePHP最接近Ruby on Rails,采用设计优雅,无自带多余库,执行效率不错。数据库操作的Active Record方式强大,路由配置难度适中,自动构建脚手架功能强大,支持MVC每一层,具备命令行脚本功能,文档齐全,学习成本适中。
优点:
缺点:
七、Symfony
Symfony完整实现了MVC三层,封装了所有功能,如POST/GET数据、异常处理、调试工具、数据检测等,包含强大缓存功能,自动加载Class,支持多种语言,强大的视图层操作,具备多层级项目和应用管理功能,拥有强大的命令行操作功能,是大型复杂项目首选,能够减少开发成本,多人协作时不易出现问题。
优点:
缺点:
总评:
上述框架各有特色,均为开源项目,适用于不同规模的项目。一般来说:
项目选择时需考虑框架的定制性和扩展性,以适应项目需求的变化。以上为PHP中常用的七种框架的详细分析。欲了解更多内容,请关注PHP进阶集中营。
Ⅲ PHP常用的框架有哪些
PHP常用框架有:
1.thinkphp: 国人开发, 文档比较全,中文文档。 入门比较简单。 写法快。
2. laravel : 国外人写的, 入门门槛高。英语文档 ,社区比较活跃。
3. symfony: 国外人写的。 门槛比较高, 英语文档。
4. yii: 国内人写的,门槛较低。
想学习这些框架,可以去黑马程序员看视频,有thinkphp、laravel的框架学习视频。