1. 首页 > 经验  > 正文

php开发框架

php开发框架

PHP开发框架就是一种搭建好了的PHP的基本架构,就像是一栋已经初步成形的房子,只等装修。

基本介绍

中文:php开发框架作用有助于促进快速软体开发思想:模型—视图—控制使用原因:为了加速开发过程

简介

太多的原因使得PHP成为世界上最受欢迎的脚本语言——高度灵活简单易用——不过写PHP(或者任何这种语言)代码时,人们常常陷入单调重複而令人生厌的体力活动的窘境。而这正是PHP开发框架大显身手的地方
通过提供一个开发Web程式的基本架构,PHP开发框架把PHPWeb程式开发摆到了流水线上。换句话说,PHP开发框架有助于促进快速软体开发(RAD),这节约了你的时间,有助于创建更为稳定的程式,并减少开发者的重複编写代码的劳动。这些框架还通过确保正确的资料库操作以及只在表现层编程的方式帮助学者创建稳定的程式。PHP开发框架使得你可以花更多的时间去创造真正的Web程式,而不是编写重複性的代码。
PHP开发框架背后的思想被称为“模型—视图—控制器”(MVC)。MVC是这样一种架构模式,它隔离业务逻辑与UI,允许其一改变而另一者不受影响。(也可以说是关注点的隔离)在MVC中,模型负责数据,视图负责表现,控制器则是程式主体或者说是负责业务逻辑。从本质上说,MVC拆分了一个程式的开发过程,这样你就可以修改独立的每一部分,而其他部分不受影响,这是十分重要的,它使得编写PHP代码更为快捷简单。

使用PHP框架

开发者可能出于不同的考虑而使用PHP开发框架,不过最重要的原因是为了加速开发过程。相似工程之间的代码重用能够节省开发者大量的时间和精力。PHP开发框架内置了预建的模组,免去了冗长又令人厌烦的编程工作。这样开发者就能够把时间花在开发实际程式上,而不是每一次都要每一个项目重建基础模组。
稳定性是开发者使用框架的另一个重要原因。儘管简单是PHP最大的资本,也是许多人喜爱这个脚本语言的原因,它也是PHP的“潘多拉之盒”,尤其是那些初学者而言,PHP是如此的简单以至于他们会完全没有意识地写出低质量的代码。这样的PHP程式可能在大多数时间内正常工作,但你可能已在代码中留下了巨大的安全漏洞,使其易受攻击。要时刻牢记PHP是一门很宽鬆的语言十分重要,因此确保不在代码中遗留任何安全漏洞是重中之重——即使程式看起来工作正常。
最后一点,PHP开发框架是可扩展的,并且有许多框架可供选择。你也可以创造你自己的,不过许多开发者决定从那些流行的知名的开发框架中做选择,因为它们往往有着庞大的支持团队,以及相关的论坛/社区方便你与其他使用同一个框架的开发者相互交流。注意,你应当事先检验你的项目是否需要使用框架,这里提供一份简单的列表以供参考:使用框架能否节省你(和其他任何会使用它的人)的时间和精力?是否能够让程式得到更好的表现?能否提高稳定性?如果你对上面任何一个问题的回答是肯定的,那幺使用PHP开发框架对于这个项目就可能是正确的选择。

开始使用PHP开发框架

这是开发者,无论初学者还是经验丰富的专家,常常询问的问题,但又真的没有直截了当的答案。对于许多初学者而言,框架提供了良好的稳定性和简洁性,所以他们认为只要能用就应该用框架。它能够减少低质量代码的产生,并加快项目进度。
一方面,许多经验丰富的PHP程式设计师把框架视为那些不懂得如何写出高质量的清晰的代码的“初级”程式设计师而设计的工具。这句话对错与否有待商榷,但事实上PHP开发框架的确是用来节省时间和提高编程效率的工具。
在忙于接近最后期限的工程时,使用PHP开发框架将带来巨大的效益,因为它能够极大地加快编程进度。所以如果你时间紧迫,使用PHP开发框架是极其正确的。应当把PHP开发框架列入考虑範围的另一个例子当你忙于一个有大量重複代码的项目时,因为它有助于减少重複工作量。

PHP开发框架的关注点

去搜寻PHP开发框架的人将会看到各式各样的选择,你甚至可以创建你自己的,儘管只推荐PHP专家们这幺做。在寻找最适合需求的PHP开发框架时,你要时刻想着谁会使用和/或彻头彻尾地修改它,这点很重要。如果会有许多人使用这个程式,最好用一个大多数开发者都熟悉的框架。另一方面,如果你想要一个自己使用的Web程式,你最好选择一个你觉得最舒服的PHP开发框架——管它是流行还是不受欢迎呢。
在寻找PHP开发框架时应该考虑多种因素:简单易用、灵活开发、性能、在其它开发者中间的流行程度、强大的特性、以及支持和论坛。我推荐你先尝试几款不同的PHP开发框架,从中找出一个最适合你需求的,各种框架之间有些微的差异,有着不同的优势和劣势。就拿Zend Framework来说,V3版本之后就带有了丰富的功能再加上一个可扩展的支持系统这一都是因为它存在了足够久。作为对照,CakePHP是另一个比Zend Framework年轻的PHP开发框架,它的支持系统的规模就略微小些(儘管对这个框架的支持正在飞速增长),但CakePHP更加用户友好且简单易用。
如你所见,每种PHP开发框架都有它自己的优点,所以最好先做一些尝试,捕捉一些错误以便找出哪个框架能最好地服务于你的需求。另一种很好的选择框架的方式是谘询你那些身处开发者社区的同事,问问他们喜欢哪个。那些真正用过某个框架的人会告诉你它是否易用,特性,可用的支持,框架周边的社区所涉及的领域,他们还可能告诉你它的缺点

常见的错误

任何一种类型的编程都会出现错误,不过PHP开发框架能够极大地限制这些错误的产生,因为它从开发过程的一开始就提供了经过验证的正确代码。而且看来重複的代码编写会增加错误出现的机率,而框架彻底解决或至少减少了那个问题。
这就是说,使用PHP开发框架仍然又需要注意的问题。例如,除非你是个PHP专家,否则你应该选择一个流行些的框架,它们有着丰富的支持和一定的活跃用户基数(下面会列举一些流行的PHP开发框架)。有许多框架只有少得可怜的支持甚至没有支持,并且/或者是由对PHP了解有限的人创建的。这些框架会导致你的程式不能正常工作,更坏的情况下会导致你的网站出现灾难性的安全问题
另一种常见的错误是没有确保资料库和网站伺服器兼容特定的框架。例如Seagull PHP Framewor推荐如下配置
PHP:PHP 4.3.0 是最低配置,之后的版本也支持,PHP 5.1.1 及更高版本也可以。请避免任何 5.0.x 系列东西
MySQL:MySQL 4.0.x, 4.1.x 和 5.0.x 都支持,你也可以使用 3.23.x。Apache:Seagull 在 1.3.x and 2.x 系列的 Apache 中工作得很好。
如果你不能满足这些要求,你就不能得到所选择框架可能的最佳性能。就算你是PHP专家,也应该在尝试框架之前阅读文档以确保兼容性
和上面这个错误比较类似的,不按照推荐安装步骤去安装你的PHP开发框架也会给你带来令人头痛的烦恼。仍然用Seagull作为例子——Seagull的Wiki上有一份详细的框架安装流程,其中有几个关键步骤有时候常常被粗心或者没有戒心的开发者轻易地忽略了。关键是你一次就把框架装好会让你在接下来的实际开发中节约不必要的时间开销。

流行的PHP开发框架

近几年来,随着PHP作为一门被许多开发者选作他们的脚本语言而不断演化,PHP开发框架如雨后春笋般走上萤屏。人们总是在争吵到底哪个PHP开发框架最好,但不是每个框架都是为所有人而产生的,这本来是很简单的事实。这里列举五个最好的最受欢迎的PHP开发框架:

The Zend Framework

The Zend Framework 在开发社区中有大量的追随者,它致力于Web 2.0风格的程式。因为它众多的追随者组成的活跃用户开发的扩展支持,Zend被称为“The PHP Company”。Zend是一个,也可能不是,今天可用的最受欢迎的PHP开发框架。它有健壮的特徵能够支持协作开发,它需要一些PHP的额外知识

Yii Framework

Yii是一款非常简洁优秀开源的PHP框架,致力于追求简洁,安全,自由,高效,是中小型项目首选框架。框架构架合理,一键生成完全合乎规範的大型网站资料夹架构,网站架构一目了然。强大的外部类库支持,分散式存储,强大的快取系统,单入口MVC模式,面向对象编程,具有微核心设计,移植性强,鬆散耦合等特点,能集成到你任何一个系统里面。无论您是一个NewPHPer 还是OLDPHPER,那幺E框架是您的首选。学习完Yii框架后您可以快速并且轻鬆的驾驭其他框架,步入php高手之列。

CakePHP

CakePHP 无论对于初学者还是职业PHP开发者都是很好的选择。它基于与Ruby on Rails同样的原则而设计,它十分注重快速开发——这使得它成为一个非常好用于RAD的开发框架。它快速增长的支持系统,简洁性和可测量性使得CakePHP成为今天可用的最受欢迎的PHP开发框架之一。

Symfony

Symfony是为那些更加职业的主要开发企业级程式的开发者而準备的——特别是 Askeet 和 Yahoo! Bookmarks。这款开源PHP开发框架有着丰富的特性,做起这些来绰绰有余,它主要的缺点是比其他的框架略微慢一些。

Codelgniter

Codelgniter 以它的简单易用,性能和速度而闻名。与 Symphony 不同,这款PHP开发框架对于共享主机的用户而言很理想,如果你想有一个小型覆盖面的框架。它提供了简单的解决方案,还有扩展的知识库,通过视频教程,用户指南和wiki来提供支持。
初学者应当考虑CodeIgniter。

Seagull

Seagull 是一个良好的PHP开发框架,可以用来开发Web,命令行和GUI程式。这是一款无论对初学者还是职业程式设计师而言都及其简单的开发框架。对于初学者,Seagull提供一套包含样例程式的库,经过简单修改就能符合你的要求,而对于专家级程式设计师,Seagull提供了一整套设定选项——包括最佳练习,标準的和模组化的代码库——来快速简单地构建Web程式。Seagull有一个活跃的用户社区以及丰富的支持文档。
总结PHP开发框架对于各种能力层级的开发者都是一种减少重複编码需要的良好方式,同时加快开发过程,确保创建Web程式时写了正确的代码。这不仅加速了複杂程式的开发,同时也减少了你代码中的安全漏洞从而加强了PHP的安全性
儘管一些专家级PHP程式设计师感觉没必要使用开发框架开发Web程式,它们在快速软体开发中仍然有巨大优势,比如在紧迫的期限下。而对于初学者或中等开发者,开发框架能够提高PHP学习效率同时促进练习编写高质量的代码且减少低质量代码,后者因为PHP自身的“宽鬆”特性而常常出现。
今天有许多可以使用的PHP开发框架,因此开发者肯定能找到一款满足他们在特性,支持,速度,可测度性等等方面的需求的框架。如今被开发者使用的顶级PHP开发框架包括:The Zend Framework,CakePHP,Symfony,Codelgniter和Seagull。

thinkphp

ThinkPHP是一个开源的PHP框架, 是为了简化企业级套用开发和敏捷WEB套用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协定发布。早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标籤库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,单一入口模式等,在模版引擎、快取机制认证机制和扩展性方面均有独特的表现,也已经越来越多地受到国内PHP开发人员的认可。
使用ThinkPHP,你可以更方便和快捷的开发和部署套用,当然不仅仅是企业级套用,任何PHP套用开发都可以从ThinkPHP的简单、兼容和快速的特性中受益。简洁、快速和实用是ThinkPHP发展秉承的宗旨,
作为一个整体开发解决方案,ThinkPHP能够解决套用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、资料库访问层、模板引擎、快取机制、外挂程式机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨资料库移植都比较方便。并且每个组件都是精心设计和完善的,套用开发过程仅仅需要关注您的业务逻辑。

Canphp

Canphp是一个中国开源的php框架,主要的设计理念就是为了追求简单,减少php初学者的学习成本,而且追求高效率,模版类不提供其他标籤,直接套用php的原始码,还有它是微核心设计,移植性强,鬆散耦合等特点,能集成到你任何一个系统里面。其中集成的http类相当的强大,採集图片速度相当的快,为什幺这样呢?因为适用了模拟异步多进程原理

InitPHP

InitPHP是一款轻量级的开源框架,採用分层体系架构,按需载入,具有高效、安全、易扩展、方便学习和修改框架本身等特点。InitPHP框架给您提供了详细开发手册,支持mysql分散式扩展,快取体系自由切换,原生态的视图模型,多模型部署等。

kyphp

KYPHP是一个中国开源的PHP框架,kyphp严格尊守OOP和MVC的理念,具有控制项化、可扩展性强。kyphp设计理念是自由、简单。既可以用php源码编程,也可以使用标籤,支持多语言,多资料库,多皮肤,多模型部署等。

本文由'幽花利云'发布,不代表演示站立场,转载/删除联系作者,如需删除请-> 关于侵权处理说明