1) 开放源代码,所有的PHP源代码事实上都可以得到。
2) 跨平台性强,由于PHP是运行在服务器端的脚本,可以运行在LINUX、
WINDOWS、Mac OS等平台。
3)效率高,PHP消耗相当少的系统资源。
4)图像处理,用PHP动态创建图像,PHP图像处理默认使用GD2。
5)使用image magick进行图像处理。
6)快捷性,程序开发快,运行快,技术本身学习快。PHP可以嵌入于HTML
语言,实用性强,更适合初学者。
1。3。2 Yii框架
Yii是一种基于组件、用于开发大型的web应用程序的高性能、易于开发的PHP框架之一。和其他多数的PHP框架类似,Yii是一种MVC框架。Yii以其优越的性能、清晰的文档帮助,和丰富的扩展库胜出于其他的框架。Yii容易学习和使用。开发人员只需要熟悉PHP和面向对象变成,便可以快速的上手Yii框架,而不需要去学习一种新的框架或者模板语言。Yii的开发大型项目的速度非常之快,除了框架本身之外,需要为应用所写的编码极少。是最高效的开发框架之一。Yii框架具备高度的可重用性和可扩展性,是一种纯粹的面向对象思想的框架。Yii中的一切应用组件都是独立的可被配置,可重用,可扩展的组件。随着采用Yii框架的开发人员变多,Yii也有着越来越多的扩展库。主要由Yii使用者贡献出的组件构,这也将有助于大大减少开发人员的开发时间[3]。
Yii借鉴了其它一些著名的框架,如:
1)Prado:Prado是Yii借鉴的主要来源。Yii采用了事件驱动及组件的编
程方式,数据库抽象层、模块化的应用架构。
2)Ruby on Rails:Yii继承其配置的理念。还引用其active record的
ORM设计模式。
3)symfony:Yii的过滤器、插件体系结构参考于symfony。
4)Joomla:Yii参考其模块化的设计以及信息翻译程序。
Yii工作原理如图1-1所示:
图1-1 Yii工作原理
用户请求发送至入口脚本web/index。php,入口脚本加载应用程序的配置文件,并且创建一个应用程序的实例去处理用户请求。应用程序通过请求组件解析请求的路由。应用程序根据请求创建一个控制器(controller)实例来处理请求。控制器创建一个操作(action)实例并针对操作执行过滤器。如果任何一个过滤器返回失败,则整个操作都会失败并退出程序。如果所有过滤器都执行通过,则操作将会被执行。 操作会加载一个数据模型(model),或许是来自数据库。操作最后会渲染一个视图(view),把数据模型提供给视图用以加载数据。操作将渲染的结果返回给响应组件。响应组件再将渲染的结果发送给用户浏览器,浏览器输出响应的页面[4]。文献综述
Yii2。0 框架 相对于1。1版本还做了很多的优化升级。
1)支持PHP框架间协作组制定的PSR-4标准,简化目录并提高类自动加载
速度。
2)内置支持Restful API框架。
3)支持依赖注入(Dependency Injection)和服务定位(Service ocator)。
4)支持大批量数据查询(Batch Query)。
5)AR添加对redis,mangodb的支持。
6)支持嵌套事务。
7)支持子查询。
1。3。3 MySQL
1)使用c语言和c++进行编写,多种编译器测试,源代码有较高移植性。
2)MySQL为不同的语言提供接口,包括 PHP,c,c++,java,Python,
Perl,ruby 等原因。
3) 支持多线程运行,因此可以充分的利用CPU的资源。
4) MySQL对 PHP有非常好的支持,并且PHP是最为流行的一种语言。