当前位置: 首页 > news >正文

PHP大神的十大优良习惯

概述:通往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值。

转载于:https://www.cnblogs.com/rrsina/p/4317190.html

相关文章:

  • 谈一谈二叉搜索树中序迭代器的关键设计
  • POJ 1984
  • Ubuntu 配置开机启动到字符界面
  • 【监控】天机镜——优土大数据平台应用级别监控利器
  • Webpack - CommonJs AMD 模块打包器
  • 浅谈Swift语法
  • 开通博客园
  • 简谈软件测试
  • Android更新UI的五种方式
  • 构造函数实例化
  • Lintcode: Merge Sorted Array II
  • C++ 常量类型 const 详解
  • 创建非arc的项目
  • processing fill()和stroke()函数
  • C++移位运算符
  • 10个最佳ES6特性 ES7与ES8的特性
  • happypack两次报错的问题
  • in typeof instanceof ===这些运算符有什么作用
  • JavaScript 一些 DOM 的知识点
  • js对象的深浅拷贝
  • Terraform入门 - 1. 安装Terraform
  • ubuntu 下nginx安装 并支持https协议
  • 关于 Cirru Editor 存储格式
  • 机器学习学习笔记一
  • 聊聊flink的BlobWriter
  • 前端之Sass/Scss实战笔记
  • 数据结构java版之冒泡排序及优化
  • 自制字幕遮挡器
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • #Linux(Source Insight安装及工程建立)
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (8)STL算法之替换
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (done) 两个矩阵 “相似” 是什么意思?
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (简单) HDU 2612 Find a way,BFS。
  • (四)JPA - JQPL 实现增删改查
  • (算法)前K大的和
  • (算法设计与分析)第一章算法概述-习题
  • (一)基于IDEA的JAVA基础1
  • (转)我也是一只IT小小鸟
  • .bat批处理(六):替换字符串中匹配的子串
  • .form文件_一篇文章学会文件上传
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET的数据绑定
  • .net流程开发平台的一些难点(1)
  • .NET轻量级ORM组件Dapper葵花宝典
  • .NET设计模式(11):组合模式(Composite Pattern)