PHP大神的十大优良习惯


Posted in PHP onSeptember 14, 2016

php大神养成记,具体内容如下

1、多阅读手册和源代码

没什么比阅读手册更值得强调的事了?仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数。就在这些函数里面包括许多有用的功能,如果你仔细阅读手册,你会经常发现在以往的项目开发过程中,很多时候你在“重复发明轮子”,而实际上你只需要一个核心函数就可以完成相应的功能。手册是你的朋友。另外,现在有很多使用PHP开发的开源程序。为什么不去学习和借鉴呢?下载一份开源的PHP应用程序的源代码,仔细阅读它吧。也许越大的项目越值得去阅读,虽然它们也许有更复杂的结构和系统,但也有更详细的解释文档。

2、编写模块化代码

良好的PHP代码应该是模块化的代码。PHP的面向对象的编程功能是一些特别强大的工具,可以把你的应用程序分解成函数或方法。你应该尽可能多的从你的应用程序的服务器端分开前端的HTML/CSS/JavaScript代码,你也可以在任何PHP框架上遵循MVC(模型-视图-控制器)模式。

3、代码编写规范

良好的PHP代码应该有一套完整的代码编写规范。通过对变量和函数的命名,统一的方法访问数据库和对错误的处理,以及同样的代码缩进方式等来达到编程规范,这样可以使你的代码更具可读性。

4、编写可移植代码

良好的PHP代码应该是可移植的。你可以使用php的现有功能,如魔术引号和短标签。试着了解你的需求,然后通过适应PHP特性来编写代码让代码独立、可移植。

5、编写安全代码

良好的PHP代码应该是安全的。PHP5提供了出色的性能和灵活性。但是安全问题完全在于开发人员。对于一个专业的PHP开发人员来说,深入理解重大安全漏洞是至关重要的,如:跨站点脚本(XSS)、跨站请求伪造(CSRF)、代码注入漏洞、字符编码漏洞。通过使用PHP的特殊功能和函数,如:mysql_real_escape_string等等,你可以编写出安全的代码。

6、代码注释

代码注释是代码的重要组成部分。通过代码注释可以知道该变量或函数是做什么的,这将在今后的代码维护中十分有用。

7、使用单引号代替双引号

字符串始终使用单引号代替双引号,以避免PHP搜索字符串内的变量导致的性能下降。用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会

8、转义字符串输出

使用ENT_QUOTES作参数传递给htmlspecialchars函数,以确保单引号(‘)也转换成HTML实体,这是一个好习惯。

9、使用逗号分隔字符串输出

通过echo语句输出使用逗号(,)分隔的字符串,要比使用字符串连接操作符(.)的性能更好。

10、输出前检查传来的值

输出前检查传过来的值$_GET[‘query']。使用isset或empty函数,可以用来检查变量是否为null值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php递归列出所有文件和目录的代码
Sep 10 PHP
PHP stream_context_create()作用和用法分析
Mar 29 PHP
用php实现选择排序的解决方法
May 04 PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
php实现的SESSION类
Dec 02 PHP
PHP中常用的数组操作方法笔记整理
May 16 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
iOS10推送通知开发教程
Sep 19 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
Jul 31 PHP
Thinkphp 框架扩展之类库扩展操作详解
Apr 23 PHP
PHP7 弃用功能
Mar 09 PHP
thinkPHP的表达式查询用法详解
Sep 14 #PHP
PHP实现对二维数组某个键排序的方法
Sep 14 #PHP
Laravel+jQuery实现AJAX分页效果
Sep 14 #PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 #PHP
PHP自定义函数实现格式化秒的方法
Sep 14 #PHP
PHP经典算法集锦【经典收藏】
Sep 14 #PHP
微信支付的开发流程详解
Sep 13 #PHP
You might like
如何写php程序?
2006/12/08 PHP
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
Python的Bottle框架中获取制定cookie的教程
2015/04/24 Python
解读python logging模块的使用方法
2018/04/17 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
绍兴鲁迅故居导游词
2015/02/09 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
学校捐款活动总结
2015/05/09 职场文书
法制教育主题班会
2015/08/13 职场文书
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS