如何选择合适的PHP开发框架
PHP作为一门成熟的WEB应用开发语言,已经深受广大开发者的青睐。与此同时,各式各样的PHP开发框架也从出不穷,面对如此多而且良莠不齐的开发框架,开发者们想必都会眼花缭乱,不知道该选择用哪个。其实并没有一个标准来衡量哪个开发框架就是最好的,开发者们需要根据自己的需求和项目要求来选择。今天蝉知小编和大家交流分享下开发者们在选择PHP开发框架时应该考虑哪些因素。
1.项目需求:定制开发 VS 所见即所得的功能
选择合适的开发框架首先是基于项目需求考虑的。如果你的项目需求都是一些基本通用的功能,通过一些基本的插件或组件就能实现,那完全可以考虑使用诸如Joomla, 、WordPress、蝉知系统这样的CMS系统,因为这些CMS系统为你的开发工作提供了足够的基本插件和组件。但如果你的项目需求比较特殊,并需要定制设计开发,那么我们的选择应该倾向于像Zend、CakePHP、ZentaoPHP、Yii等这类开发框架,这些开发框架提供了函数库,满足开发者在此基础上根据需求定制开发。
2.健全的架构:设计模式
大多数的开发框架采用的都是MVC设计模式,这也是被广泛应用于WEB开发的一种设计模式。在使用这些开发框架之前,开发者们需要认真分析它的MVC模式是如何实现的,比如像Zend这样的框架在实现MVC时自由度比较高,并允许开发者对其自定义修改,但像Yii这样的框架,其MVC实现比较严格,开发者必须遵守框架制定的规则。所以小编个人在选择开发框架时都会考虑一个问题,开发者与该框架到底谁是谁的工具。
3.数据库访问:提高数据操作效率
使用开发框架的一个很大优点就是可以重用数据库访问层。一些框架提供了ROM支持,方便数据库编程,也有一些框架比较人性化,注重开发者的自由度,比如zentaoPHP框架。zentaoPHP虽然没有去实现ORM或者ActiveRecord这样的功能,但是它为开发人员提供了足够的自由发挥空间。框架里面提供了一个简单方便的数据库访问对象类DAO,并且在封装DAO的时候尽可能的兼容标准的sql写法,这也是小编用的最顺手的开发框架之一。所以小编不得不重申老观点,“无论选择什么,适合自己的才是最好的。”
4.安全机制:防御应用程序漏洞
一款优秀的开发框架需要健全的安全机制来防御WEB应用程序漏洞,比如跨站脚本攻击(XSS)、跨站请求伪造攻击(CSRF)、Cookie攻击等。尤其对于那些主流的、开源的开发框架,更是黑客攻击的热衷对象。开发人员在项目开发过程中必须意识到这些可能存在的漏洞,框架也应该有相关的指导文档,帮助开发者防御这些web应用漏洞。
5.文档和社区支持:降低学习曲线
开发者们自然都希望框架功能完善强大的同时,又能够降低其学习成本。一款成熟的开发框架应该有活跃的社区支持、详细的参考文档、丰富的示例代码,以帮助开发者们能够轻松快捷的掌握框架功能。
每款开发框架都有其优点和缺点,开发者们需要根据自己的项目需求和框架的各自特点,综合考虑到底选用哪个开发框架最合适。以上小编只是列举了几个常见参考因素,如果大家还有其他补充,欢迎和大家一起分享讨论,我们共同学习,共同交流,共同进步。
更多内容:http://www.chanzhi.org/?u=xcj&a=cnblog
如何选择合适的PHP开发框架的更多相关文章
- NoSQL系列:选择合适的数据库
NoSQL系列:选择合适的数据库 为什么使用NoSQL数据库? 阻抗失衡 关系模型和内存中的数据结构不匹配 采用更为方便的数据交互方式提升开发效率 待处理的数据量很大 数据量超过关系型数据库的承载能力 ...
- 为MySQL选择合适的备份方式
数据库的备份是极其重要的事情.如果没有备份,遇到下列情况就会抓狂: UPDATE or DELETE whitout where… table was DROPPed accidentally… IN ...
- (转)NoSQL系列:选择合适的数据库
内容目录: 为什么使用NoSQL数据库? 键值数据库 文档数据库 列族数据库 图数据库 附思维导图 参考 NoSQL系列:选择合适的数据库 为什么使用NoSQL数据库? 阻抗失衡 关系模型和内存中的数 ...
- (转载)通过dbgrideh 从数据集中选择合适的记录
通过dbgrideh 从数据集中选择合适的记录 //---------------------------------------------------------// 通过dbgrideh 从数据 ...
- 【转】app后端如何选择合适的数据库产品
转自:http://blog.csdn.net/newjueqi/article/details/44003503 app后端的开发中,经常要面临的一个问题是:数据放在哪里? mysql ?redis ...
- 谈谈数据库中MyISAM与InnoDB区别 针对业务类型选择合适的表
MyISAM:这个是默认类型,它是基于传统的ISAM类型, ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法. ...
- MySQL如何选择合适的引擎以及引擎的转换。
我们怎么选择合适的引擎?这里简单归纳一句话:"除非需要用到某些InnoDB不具备的特性,并且没有其他办法可以替代,否则都应该优先选择InnoDB引擎." 除非万不得已,否则不建议混 ...
- 为MySQL选择合适的备份方式[转]
原文链接:http://nettedfish.sinaapp.com/blog/2013/05/31/choose-suitable-backup-strategy-for-mysql/ 数据库的备份 ...
- 12.app后端如何选择合适的数据库产品
app后端的开发中,经常要面临的一个问题是:数据放在哪里? mysql ?redis?mongodb? 现在有这么多优秀的开源数据库产品,怎么根据业务场景来选择合适的数据? 常用的数据库产品的优缺点又 ...
随机推荐
- JavaScript中的文档模式和严格模式
JavaScript中的文档模式和严格模式 语法模式有普通模式和严格模式两种 普通模式:正常的JavaScript语法拼写以及代码编写(相对于严格模式存在着语法上的不严谨),尽可能的识别错误以及不规范 ...
- 每一个程序员都应该知道的高并发处理技巧、创业公司如何解决高并发问题、互联网高并发问题解决思路、caoz大神多年经验总结分享
本文来源于caoz梦呓公众号高并发专辑,以图形化.松耦合的方式,对互联网高并发问题做了详细解读与分析,"技术在短期内被高估,而在长期中又被低估",而不同的场景和人员成本又导致了巨头 ...
- Memcached【第二篇】高可用集群搭建
第一步:准备 1. 架构信息 利用 magent 搭建 memcached 集群,实现性能的高可用. IP Port 主从 192.168.6.129 11211 主节点 192.168.6.130 ...
- Oracle Jdbc驱动下载及安装本地maven仓库
由于二进制许可 binary license的限制,oracle jdbc驱动不能通过共有仓库来获取,所以你可以下载下来添加到自己的本地仓库或私有仓库中. 添加到本地仓库步骤如下: 下载Oracle ...
- APICloud使用
APICloud-APP开发平台 [网址:]http://www.apicloud.com/ APICloud studio 下载 打开网址,找到开发者社区->文档->下载->开发工 ...
- MacOS无法登录App Store修复
MacOS无法登录App Store修复 2017-03-10 21:13:39 by:SemiconductorKING 先上图: 惨红色的提示信息,把你拒之App Store门外,但是对之放弃. ...
- struts2(一) struts2入门
首先推荐一本书,虽然我还没看过,但是我以后肯定会看的,<Struts+技术内幕>提取密码:kg6w .现在只是停留在会使用struts2的层次,自己也想继续深入研究,但是感觉自己的知识面还 ...
- 浅谈HTML5中的浮动问题
浮动是我们在前端页面中经常会用到的一种布局方式.那什么是浮动呢? 首先我们先来看一下它的定义.浮动是指让元素脱离文档标准流(脱标),按照指定的方向去横向排列.浮动的取值有两个,分别是float:lef ...
- #include<bits/stdc++.h>
在听学长讲课时看到了#include<bits/stdc++.h>这个头文件,瞬间懵逼辣,百度后了解了 #include<bits/stdc++.h>,包含了C++的所有头文件 ...
- ps-图像的符合
1.将所需要的背景和素材添加到同一个画布中 2.选择素材图层---工具栏---修复画笔工具-----alt+左键,在素材上进行定位 3.切换到背景图层 4.按住鼠标左键并在合适位置进行拖动, 5.松开 ...