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输出表格的实现代码(修正版)
Dec 29 PHP
PHP在字符断点处截断文字的实现代码
Apr 21 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
CURL状态码列表(详细)
Jun 27 PHP
php定界符
Jun 19 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
Dec 22 PHP
分享下php5类中三种数据类型的区别
Jan 26 PHP
学习php设计模式 php实现模板方法模式
Dec 08 PHP
Yii快速入门经典教程
Dec 28 PHP
IIS 7.5 asp Session超时时间设置方法
Apr 17 PHP
laravel与thinkphp之间的区别与优缺点
Mar 02 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代码
2010/08/08 PHP
在PHP中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
javascript中Function类型详解
2015/04/28 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
python实现下载文件的三种方法
2017/02/09 Python
Python装饰器简单用法实例小结
2018/12/03 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
仓库管理专业个人自我评价范文
2013/11/11 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
说明书怎么写
2014/05/06 职场文书
五一促销活动总结
2014/07/01 职场文书
邹越感恩父母演讲稿
2014/08/28 职场文书
导师对论文的学术评语
2015/01/04 职场文书
关于召开会议的通知
2015/04/15 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server
Java数组详细介绍及相关工具类
2022/04/14 Java/Android