编程学习网 > PHP技术 > 全方面了解和学习PHP框架
2019
01-31

全方面了解和学习PHP框架

PHP成为最流行的脚本语言有许多原因:灵活性,易用性等等。对于项目开发来说,我们通常需要一个PHP框架来代替程序员完成那些重复的部分,今天我们就来全方面了解和学习一下PHP框架。


PHP框架是什么?


PHP框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程。这样不但节省开发时间,有助于建立更稳定的应用,而且减少了重复编码的开发。通俗的讲就是别人封装好常用方法,开发者直接调用或使用即可。框架还可以帮助初学者建立更稳定的应用服务,这可以让你花更多的时间去创建实际的Web应用程序,而不是花时间写重复的代码。


我们通常认为PHP框架的作用相当于模型-视图-控制器(Model View Controller)。MVC是种编程的架构模式,将业务逻辑从UI中分离出来,允许一个一个单独修改。MVC打破了一个应用的开发进程,这样各组件就可以不受影响地各自工作,使得用PHP编码更快更简单。


为什么要使用PHP框架?


开发人员使用PHP框架的好处很多,其中之一是加快开发进程,为开发者节省大量的时间和精力。另外,稳定是开发者使用框架的另一个重要原因。虽然简单是PHP最大的优点,很多人也因为这一点喜欢使用这个脚本语言,但它同时也是PHP最大的缺点。一些开发者尤其是初学者很容易写出低劣的代码,而自己却没有意识到。


PHP是一个非常宽容的语言,因此,更重要的是在编程时确保没有漏洞。最后,PHP框架的使用是非常广泛的,而且有许多不同的框架可供选择。许多开发者会选择知名的框架,而且他们可以通过论坛/社区来与其他使用相同框架的开发者交流,当然你也可以开发自己的框架。在选择框架之前,你应该先问自己:它会节省你和其他使用者的时间和精力么?应用程序的性能会更好么?是否会提高稳定性?如果这些问题你的回答都是是,那么你就该为你的项目选择一个合适的框架了。


何时使用PHP框架?


这是一个无论有经验的开发者还是初级开发者都共有的问题。对于许多初学者来说,一个框架将提供很多简便和稳定,因此应该尽可能地使用PHP框架。这将有助于减少或消除不良编码,加快开发进程。另一方面,许多有经验的PHP程序员将框架视为不知道如何写出优秀的代码的低级程序员的工具。总之,当工作的项目时间紧迫时,使用PHP框架就有很多好处,可以大大加快编码进程。另一个场景是当你所做的项目有大量代码时,也应当考虑使用PHP框架,因为这将有助于减少工作的繁琐度。


最好的PHP框架有哪些?


php发展到现在已经有24年,目前php流行框架大概有十几个左右,我们常用的也是目前市场上需求最大的五个框架,分别是:ThinkPHP(国内)、Zend Framework(国外)、Yii(国外)、Laravel(中外)、CakePHP(国外)。过去的几年中,因为PHP已发展成为大多数开发者选择的脚本语言,因而也产生了大量的PHP框架。什么是最好的PHP框架,仁者见仁智者见智,因为并非每一个框架都能够适合每一个人。这里给出了一些PHP框架的评价:


1、ThinkPHP


ThinkPHP是一个快速、简单、面向对象的轻量级PHP开发框架。遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。


2、Zend Framework


Zend Framework:(ZF)是Zend公司推出的一套PHP开发框架。Zend Framework在开发者社区中很有人气,功能非常的强大,是一个重量级的框架,ZF用100%面向对象编码实现。ZF的组件结构独一无二,每个组件几乎不依靠其他组件。这样的松耦合结构可以让开发者独立使用组件。我们常称此为“use-at-will”设计。由于其广泛的支持和积极的用户群,Zend被称为PHP Company。它强大的功能能够满足企业级的需求,当然它的使用也需要具备广泛的PHP知识。


3、Yii


Yii是一个高性能的PHP5的web应用程序开发框架,也是由国人开发的重量级的框架,这个框架把代码的可重用性发挥到极致。通过一个简单的命令行工具,yii可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。


4、Laravel


Laravel是一个简单优雅的PHP web开发框架,将你从意大利面条式的代码中解放出来。通过简单的、表达式语法开发出很棒的 Web 应用。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。


5、CakePHP


CakePHP是国外的框架,一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而又不失灵活性。从初学者到高级PHP开发者,CakePHP都是一个很棒的选择。它与 Ruby on Rails设计的原则基本相同,主要集中在快速开发方面使其成为一个快速应用开发的优良框架。其迅速增长的支持系统、简单和可扩展性使CakePHP成为当今最热门的PHP框架。


6、Symfony


Symfony,是一套国外的PHP开源框架。简单的模板功能symfony是一个开源的PHP Web框架。基于最佳Web开发实践,已经有多个网站完全采用此框架开发,symfony的目的是加速Web应用的创建与维护。 它的特点如下:缓存管理 、自定义URLs、搭建了一些基础模块、多语言与I18N支持、采用对象模型与MVC分离、Ajax支持、适用于企业应用开发。


Symfony针对的更多的是高级开发者,也即创建企业级应用的开发者,尤其是Askeet和Yahoo! Bookmarks。这个开源的PHP框架功能全面,但它的主要缺点是速度慢于其他框架。


7、CodeIgniter


CodeIgniter(CI)轻量级框架,运行速度快。它为组织提供了足够的自由支持,允许开发人员更迅速地工作。使用 CodeIgniter 时,您不必以某种方式命名数据库表,也不必根据表命名模型。这使 CodeIgniter 成为重构遗留 PHP 应用程序的理想选择,在此类遗留应用程序中,可能存在需要移植的所有奇怪的结构。


CodeIgniter以其易用性、性能和速度而闻名。不同于Symfony,CodeIgniter主要针对的是与人共享主机的开发者,或者为小型设备寻找PHP框架的开发者。它提供简单的解决办法,而且有一个扩展库包括视频教程、论坛、用户指南和wiki。初学者应该考虑使用CodeIgniter 。


以上数款PHP框架,各有特色,而且都是开源项目,不过框架针对的项目不一样,一般来说 CodeIngiter 比较适合小型项目,CakePHP 和 Zend Framework 比较适合中型项目,Symfony 比较适合大型重量级项目,在项目选型的时候,要充分考虑框架的可以定制性、扩展性,因为每个项目都无法确定你是否会随着需求的变化进行改变。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取