php开发简介[转帖]_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3242 | 回复: 0   主题: php开发简介[转帖]        下一篇 
chao.wang
注册用户
等级:上尉
经验:586
发帖:47
精华:0
注册:2013-11-12
状态:离线
发送短消息息给chao.wang 加好友    发送短消息息给chao.wang 发消息
发表于: IP:您无权察看 2013-11-13 10:00:24 | [全部帖] [楼主帖] 楼主

1简介


有太多的原因使得PHP成为世界上最受欢迎的
脚本语言——高度灵活、简单易用——不过写PHP(或者任何这种语言)代码时,人们常常陷入单调重复而令人生厌的
体力活动的窘境。而这正是PHP开发
框架大显身手的地方。

通过提供一个开发Web程序的基本架构,PHP开发
框架把PHPWeb程序开发摆到了流水线上。换句话说,PHP开发
框架有助于促进
快速软件开发(RAD),这节约了你的时间,有助于创建更为稳定的程序,并减少开发者的重复编写代码的劳动。这些
框架还通过确保正确的数据库操作以及只在表现层编程的方式帮助初学者创建稳定的程序。PHP开发
框架使得你可以花更多的时间去创造真正的Web程序,而不是编写重复性的代码。

PHP开发
框架背后的思想被称为“模型—视图—控制器”(MVC)。MVC是这样一种架构模式,它隔离了业务逻辑与UI,允许其一改变而另一者不受影响。(也可以说是关注点的隔离)在MVC中,模型负责数据,视图负责表现,控制器则是程序主体或者说是负责业务逻辑。从本质上说,MVC拆分了一个程序的开发过程,这样你就可以修改独立的每一部分,而其他部分不受影响,这是十分重要的,它使得编写PHP代码更为快捷简单。

2使用PHP开发框架


开发者可能出于不同的考虑而使用PHP开发
框架,不过首当其冲的原因是为了加速开发过程。相似工程之间的代码重用能够节省开发者大量的时间和精力。PHP开发
框架内置了预建的模块,免去了冗长又令人厌烦的编程工作。这样开发者就能够把时间花在开发实际程序上,而不是每一次都要为每一个项目重建基础模块。

稳定性是开发者使用
框架的另一个重要原因。尽管简单是PHP最大的资本,也是许多人喜爱这个
脚本语言的原因,它也是PHP的“
潘多拉之盒”,尤其是那些初学者而言,PHP是如此的简单以至于他们会完全没有意识地写出低质量的代码。这样的PHP程序可能在大多数时间内仍正常工作,但你可能已在代码中留下了巨大的安全漏洞,使其易受攻击。要时刻牢记PHP是一门很宽松的语言十分重要,因���确保不在代码中遗留任何安全漏洞是重中之重——即使程序看起来工作正常。

最后一点,PHP开发
框架是可扩展的,并且有许多
框架可供选择。你也可以创造你自己的,不过许多开发者决定从那些流行的知名的开发
框架中做选择,因为它们往往有着庞大的支持团队,以及相关的论坛/社区方便你与其他使用同一个框架的开发者相互交流。注意,你应当事先检验你的项目是否需要使用
框架,这里提供一份简单的列表以供参考:使用框架能否节省你(和其他任何会使用它的人)的时间和精力?是否能够让程序得到更好的表现?能否提高稳定性?如果你对上面任何一个问题的回答是肯定的,那么使用PHP开发框架对于这个项目就可能是正确的选择。

3开始使用PHP开发框架


这是开发者,无论初学者还是经验丰富的专家,常常询问的问题,但又真的没有直截了当的答案。对于许多初学者而言,
框架提供了良好的稳定性和简洁性,所以他们认为只要能用就应该用框架。它能够减少低质量代码的产生,并加快项目进度。

另一方面,许多经验丰富的PHP程序员把
框架视为那些不懂得如何写出高质量的清晰的代码的“初级”程序员而设计的工具。这句话对错与否有待商榷,但事实上PHP开发
框架的确是用来节省时间和提高编程效率的工具。

在忙于接近最后期限的工程时,使用PHP开发
框架将带来巨大的效益,因为它能够极大地加快编程进度。所以如果你时间紧迫,使用PHP开发
框架是极其正确的。应当把PHP开发
框架列入考虑范围的另一个例子是当你忙于一个有大量重复代码的��目时,因为它有助于减少重复工作量。

4PHP开发框架的关注点


去搜索PHP开发
框架的人将会看到各式各样的选择,你甚至可以创建你自己的,尽管只推荐PHP专家们这么做。在寻找最适合你需求的PHP开发
框架时,你要时刻想着谁会使用和/或彻头彻尾地修改它,这点很重要。如果会有许多人使用这个程序,最好用一个大多数开发者都熟悉的
框架。另一方面,如果你想要一个自己使用的Web程序,你最好选择一个你觉得最舒服的PHP开发
框架——管它是流行还是不受欢迎呢。

在寻找PHP开发
框架时应该考虑多种因素:简单易用、灵活开发、性能、在其它开发者中间的流行程度、强大的特性、以及支持和论坛。我推荐你先尝试几款不同的PHP开发
框架,从中找出一个最适合你需求的,各种框架之间有些微的差异,有着不同的优势和劣势。就拿Zend Framework来说,V3版本之后就带有了丰富的功能,再加上一个可扩展的支持系统,这一切都是因为它存在了足够久。作为对照,CakePHP是另一个比Zend Framework年轻的PHP开发
框架,它的支持系统的规模就略微小些(尽管对这个框架的支持正在飞速增长),但CakePHP更加用户友好且简单易用。

如你所见,每种PHP开发
框架都有它自己的优点,所以最好先做一些尝试,捕捉一些错误以便找出哪个框架能最好地服务于你的需求。另一种很好的选择
框架的方式是咨询你那些身处开发者社区的同事,问问他们喜欢哪个。那些真正用过某个
框架的人会告诉你它是否易用,特性,可用的支持,框架周边的社区所涉及的领域,他们还可能告诉你它的缺点。

5最常见的错误


任何一种类型的编程都会出现错误,不过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���有一份详细的
框架安装流程,其中有几个
关键步骤有时候常常被粗心或者没有戒心的开发者轻易地忽略了。关键是你一次就把
框架装好会让你在接下来的实际开发中节约不必要的时间开销。

6流行的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源码编程,也可以使用标签,支持多语言,多数据库,多皮肤,多模型部署等。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论