初识PHP框架技术

版权声明:转载请记得附上链接哟~ https://blog.csdn.net/qq_37810453/article/details/88633350

1.1 PHP简介

PHP最初为Person Home Page 的缩写,但是现在已经正式更名为Hypertext Preprocessor(“超文本预处理器”),PHP于1994年由Rasmus Lerdorf(拉斯姆斯·勒多夫)创建的,它起初是勒多夫为了要维护个人网页二制作的一个简单的用Perl语言编写的程序。

1.2 什么是框架

框架(Framework)是在给定的问题领域内,实现了应用程序的一部分设计,是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。简单来说,就是一个“半成品”,帮助项目把“骨架”搭好,并提供丰富的组件库,只需要增加一些内容或调用一些提供好的组件就可以完成自己的系统。
比如已经由一个成型的房子“骨架”和一些建筑材料,我们可以把它比喻成一个程序的框架。其中“骨架”可以看作是为我们创建的项目管理结构(半成品),而建筑材料则相当于为我们提供的现成组件库。在这个已由房子框架结构的基础上,结合线程的建筑材料,再经过我们的“装修”,就可以将这个“半成品”建造成私有住宅、办公楼、超市或酒吧等。同理,使用程序框架也会很快开发出个人博客、个人主页、OA系统、电子商城和SNS系统等软件产品。

1.3 为什么使用框架

  • 可重用
  • 成熟稳健,可以处理系统的很多细节问题
  • 结构、拓展性很好

软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,非常广泛。这样开发出完善健壮的软件,对程序员的要求将会非常高。如果采用成熟,稳健的框架,那么一些基础的通用工作,比如,事物处理,安全性,数据流控制等都可以交给框架处理,那么程序员只需要集中精力完成系统的业务逻辑设计,可以降低开发难度。
从程序员角度看,使用框架最显著的好处是重用,由于框架能重用代码,因此从一已有构件库中建立应用变得非常容易,因为构件都采用框架统一定义的接口,从而使构件间的通信简单。框架能重用设计。它提供可重用的抽象算法及高层设计,并能将大系统分解成更小的构件,而且能描述构件间的内部接口。这些标准接口使在已有的构件基础上通过组装建立各种各样的系统成为可能。只要符合接口定义,新的构件就能插入框架中,构件设计者就能重用构架的设计。框架还能重用分析。所有的人员若按照框架的思想来分析事物,那么就能将它划分为同样的构件,采用相似的解决方法,从而使采用同一框架的分析人员之间能进行沟通

1.4 PHP主流框架

1.4.1 ThinkPHP

ThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。
ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括MySQL、MSSQL、Sqlite、PgSQL、
Oracle,以及PDO的支持。ThinkPHP有着丰富的文档和示例,框架的兼容性较强,但是其功能有限,因此更适合用于中小项目的开发。

优点:

  1. 易于上手,有丰富的中文文档;

  2. 框架的兼容性较强,PHP4和PHP5完全兼容、完全支持UTF8等。

  3. 适合用于中小项目的开发

缺点:

  1. 对Ajax的支持不是很好;

  2. 目录结构混乱,需要花时间整理;

  3. 上手容易,但是深入学习较难。

1.4.2 Yii

Yii 是一个基于组件的高性能php框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从
MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了
今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。

优点:

  1. 纯OOP

  2. 用于大规模Web应用

  3. 模型使用方便

  4. 开发速度快,运行速度也快。性能优异且功能丰富

  5. 使用命令行工具。

缺点:

  1. 对Model层的指导和考虑较少

  2. 文档实例较少

  3. 英文太多

  4. 要求PHP技术精通,OOP编程要熟练!

  5. View并不是理想view,理想中的view可能只是html代码,不会涉及PHP代码。

1.4.3 CodeIgniter

优点:

  1. Code Igniter推崇“简单就是美”这一原则。没有花哨的设计模式、没有华丽的对象结构,一切都是那么简单。几行代码就能开始运行,再加几行代码就可以进行输出。可谓是“大道至简”的典范。
  2. 配置简单,全部的配置使用PHP脚本来配置,执行效率高;具有基本的路由功能,能够进行一定程度的路由;具有初步的Layout功能,能够制作一定程度的界面外观;数据库层封装的不错,具有基本的MVC功能。
  3. 快速简洁,代码不多,执行性能高,框架简 单,容易上手,学习成本低,文档详细;自带了很多简单好用的library,框架适合小型应用。

缺点:

  1. 本身的实现不太理想。内部结构过于混乱,虽然简单易用,但缺乏扩展能力。
  2. 把Model层简单的理解为数据库操作。
  3. 框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要。

1.4.4 评价:

总体来说,拿CodeIgniter来完成简单快速的应用还是值得,同时能够构造一定程度的layout,便于模板的复用,数据操作层来说封装的不 错,并且CodeIgniter没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错。至于附加的library 也还不错,简洁高效。 Lavarel 框架 优点: Laravel 的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD 和BDD,作为一个框架,它准备好了一切,composer 是个php 的未来,没有composer,PHP 肯定要走向没落。 laravel最大的特点和优秀之处就是集合了php 比较新的特性,以及各种各样的设计模式, Ioc 容器,依赖注入等。 缺点:基于组件式的框架,所以比较臃肿

猜你喜欢

转载自blog.csdn.net/qq_37810453/article/details/88633350