PHP标准化编程笔记1 mine

2024-04-28 08:48
文章标签 标准化 笔记 php 编程 mine

本文主要是介绍PHP标准化编程笔记1 mine,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


1 用英文命名函数

2 加注释,/函数功能/参数/返回值

3 多备份

4数组在使用前最好提前声明如$list=array();
原因:PHP可以不定义变量,然使用一个未定义的变量,比使用一个定义好的变量要慢8倍以上。

5 尽量使用===(全等),而不使用==
全等 (1==='1')为false,因为类型不同

6避免在for循环中计算
for($i=0,$i<strlen($str);$i++){}
最好提前计算好 $str=strlen($str);

7优先使用单引号
$row['id']的效率是$row[id]的7倍

8php的结束标记最好不要写 即文档底的?>,底部有html代码的除外

9php开启报错功能,设置php.ini中 display_errors = On,后重启php
生产环境,要关闭报错。把错误写到日志中,返回false

10操作类用false表示错误,查询类用NULL表示不存在

11php获取微秒$start = microtime(true); 再md5生成唯一字符串。true返回浮点,无true返回字符串

12做好字段验证,并使用PDO,可以大大预防SQL注入。使用htmlspecialchars过滤
 输出htmlentities,预防XSS攻击。thinkphp模板输出时,默认会使用htmlentities方法进行转义输出。
//所有输出语句前都要使用htmlentities() 进行过滤,这样可以防止Xss,注意中文要写出htmlentities($name,ENT_NOQUOTES,GB2312)

13 PHP list() 函数.把数组中的值直接赋给一些变量、、
PHP die() 函数输出一条消息,并退出当前脚本。与exit相等。exit("Unable to connect to $site");

14 变量相连接推荐用,代替.
$foo,$kk 的效率优于 $foo . $kk

15 php快速开发
$arr=array(); 可以用$arr=[];代替
$arr=array(1,2,3,4);可以用$arr=[1,2,3,4];代替

16 php快速开发2
function addall(...$num){
   $sum=array_sum($num);
   return $sum;
}
addall(1,2,3,4,5,6,7,8,9); //可以一次传进去..

17 研究suhosin保护php应用系统,最好禁用eval()功能

18 简化写法
if ($a='1'){
  $status="success";
}else{
  $status="error";
}
return $status;
---------------------
可以简写成:
$status="error";
if ($a='1'){
  $status="success";
}
return $status;

19 三元运算符替换if
$a = 'aaaa';
$b = $a ?:'1';
$c = $a ? $a : '1';        //这个和上面的表达式是同一个意思;~~~~目前知道,php5.3是支持该用法的,其他的不知道;
echo $b;
echo "<br/>";
echo $c;

20 不建议写太简写的代码,比如函数套函数,这样别人维护起来麻烦。


21 面向对象的函数代码最好一个只做一个功能。函数功能越单一,引用越多;一个函数最好150行以下。

22 在开发的过程中,不断地优化自己的代码。

这篇关于PHP标准化编程笔记1 mine的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942807

相关文章

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

C#异步编程ConfigureAwait的使用小结

《C#异步编程ConfigureAwait的使用小结》本文介绍了异步编程在GUI和服务器端应用的优势,详细的介绍了async和await的关键作用,通过实例解析了在UI线程正确使用await.Conf... 异步编程是并发的一种形式,它有两大好处:对于面向终端用户的GUI程序,提高了响应能力对于服务器端应

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async