十大使用PHP框架的理由


Posted in PHP onSeptember 26, 2015

PHP框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程。换言之,PHP框架有助于促进快速应用开发( RAD ),不但节省开发时间、有助于建立更稳定的应用,而且减少了重复编码的开发。

十大使用PHP框架的理由

1.可以更好的组织代码和文件夹。

不会因为你新建了一个/inc的文件夹,然后在里面写function.php文件,就能说明你的代码有组织了。但是当你使用一个PHP框架的时候,框架本身已经有一定的文件夹结构,你需要遵循框架的一些标准,这样就可以保证你始终用一定的方式来组织你的代码。

不幸的是,一些命名行冠军仍然在使用着vi,这可能是一个挑战。你工作的时候将会遇到很多体积很小的文件,当你使用框架了,你就可以很方便的使用现代化的编辑器或IDE来浏览你的代码结构,这样你就能很快的找到你所需要的文件。

2.公共代码和类库

PHP是一门伟大的web开发语言,它提供了无数的工具和类库。但是当你试图单独建立一个网站的时候,你要么自己写代码,要么使用第三方的代码。

所有优秀的php框架都会提供一些类库和辅助函数给你,它们能给你提供以下帮助:表单验证、输入输出的数据过滤、数据库抽象、Session和cookie处理、Email、日历和分页等,这样的例子不胜枚举。更何况,还有一些社区提供的大量的插件,你可以将它添加到你的框架中。

3.mvc模式

着名的mvc模式要追溯到1979年,是一个叫哈维的挪威计算机科学家首次提出来的。

PHP工作起来本身就像是一个模板引擎。但是,如果你很不负责任的使用它,这样将会使你的代码很丑陋,将会使代码难以维护。

Mvc模式:

模型:通常代表着你的数据结构和数据库的接口;

视图:包含了页面模板和输出;

控制器:处理页面的请求。

这种分离是代码更整洁,更容易维护。

4.安全

在PHP中,可能你已经想过很多办法对输入和输出进行过滤了,以防止您的网站被攻击。手动的处理这些过滤将会很累,当你使用了框架以后,你就可以忘掉那些累了。

对于一个框架,大部分过滤工作可以帮您自动完成。例如codeigniter框架:

通过数据库的任何值将会被过滤这样防止sql注入性攻击。

所有html可以自动生成,如表单辅助函数和url辅助函数可以对输出自动过滤所有用户输入的数据都可以进行过滤防止xss攻击。

想要加密cookie只需要改变一个配置选项就可以了。

5.使用少的代码,提高开发速度

所有的PHP框架都会有一个学习曲线,但是一点你越过了谷峰,你就会享受快速开发带来的乐趣了。

使用框架意味着你写更少的代码,这就意味着更少的时间花在打字上面。你不必为每个项目去查找第三方的类库,因为框架已经帮你提供了很多类库了。

此外,因为你的代码已经以一种方式默认的组织起来了,这样你就能更快的发现错误和维护代码,对你现在的代码进行更改。

6.社区支持

所有流行的PHP框架在背后都有一个很活跃的社区。你可以和其他开发人员在寻求帮助、讨论或反馈。

7.增强就业竞争力

不知道你最近有没有看过,一些公司的职位要求都需要有框架的使用经验,作为一个web开发人员拥有PHP框架的的使用经验将会增强就业竞争力。

8.性能

反对使用PHP框架的大部分人都会说框架降低了PHP的性能。

不过首先你应该明白,开发的费用远远高于服务器硬件的价格。节省开发和维护的时间上的钱有可能超过任何额外需要花费在服务器上面的钱。

把上面说的这些抛到一边去,你实际上也可以使用PHP框架获得性能上的优势。框架本身带有一些工具,它们能帮你做缓存、测试和分析等等。

现代的一些框架也都是动态的加载它所需要的一些代码的。

9.适合团队

PHP框架可以为帮你创建一个合适的环境,提供良好的团队合作方式。你可以让设计师工作在视图层上面,让数据库工程师工作在模型层上面,让聪明的程序员反复的使用类库和插件。你也可以让别人建立单元测试,因为PHP框架本身带有很多工具。

10.很有趣

这点实际上可能是所有理由当中最重要的一点了。当你的工作充满乐趣的时候,你的工作就会更加高效。如果你一直使用老式的PHP编码多年,或者对它已经非常厌倦了。开始使用框架将会给你增加一些士气,就像一个新的玩具一样,并且你用框架同样可以做很多很酷的事情。至少我当初第一次使用框架的时候就是这种感觉。我相信很多web开发人员都会有类似的经历。

结论:

使用PHP框架可能不是你的最佳选择,但是,你应该使用对web世界保持开发的态度,不断从网络中新的技术新的发展来学习知识。今天框架很流行很火爆,我们仍然不知道PHP框架明天将会是怎样的,但我想要说的是,PHP框架绝对是值得探讨的。

希望通过本文介绍的十大使用PHP框架的理由,对大家有所启发,能给大家带来帮助。

PHP 相关文章推荐
php中iconv函数使用方法
May 24 PHP
PHP中数组定义的几种方法
Sep 01 PHP
php比较两个绝对时间的大小
Jan 31 PHP
ThinkPHP分页实例
Oct 15 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
浅析Laravel5中队列的配置及使用
Aug 04 PHP
PHP数组编码gbk与utf8互相转换的两种方法
Sep 01 PHP
php格式化时间戳
Dec 17 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
微信JSSDK分享功能图文实例详解
Apr 08 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 PHP
PHP弹出对话框技巧详细解读
Sep 26 #PHP
ThinkPHP2.x防范XSS跨站攻击的方法
Sep 25 #PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 #PHP
腾讯CMEM的PHP扩展编译安装方法
Sep 25 #PHP
PHP生成随机字符串(3种方法)
Sep 25 #PHP
PHP防盗链的基本思想 防盗链的设置方法
Sep 25 #PHP
十个PHP高级应用技巧果断收藏
Sep 25 #PHP
You might like
兼容性比较好的PHP生成缩略图的代码
2011/01/12 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
Python urlopen 使用小示例
2008/09/06 Python
Python复制目录结构脚本代码分享
2015/03/06 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
环境科学专业个人求职信
2013/09/26 职场文书
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
被告代理词范文
2015/05/25 职场文书
无故旷工检讨书
2015/08/15 职场文书
python中super()函数的理解与基本使用
2021/08/30 Python
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS