zoukankan      html  css  js  c++  java
  • PHP学习之PHP编码习惯

    命名的注意事项:
    1. 命名要有实际含义
    2. 命名风格保持一致
    3. 不用拼音命名
    4. 不用语言关键字
    适当的使用注释
    1. 好的代码应该是自描述的
    2. 难以理解的地方加上注释
    3. 函数的功能加上注释说明
    4. 类的功能和使用方法加注释
    多备份重要的代码
    1. 代码不能只有一份
    2. 启用编译器的自动备份
    3. 用代码管理工具备份
    坚持字符编码统一
    • PHP文件编码==模板编码==数据库编码
    使用之前,变量要初始化
    • 使用一个未定义的变量,比使用一个定义好的变量要慢8倍以上!
    可以想象,PHP引擎会首先按照正常的逻辑来获取这个变量,然而这个变量不存在,所以PHP引擎需要抛出一个NOTICE,并且进入一段使用未定义变量时应该走的逻辑,然后返回一个新的变量。
    另外,阅读代码的角度讲,当你使用一个未定义的变量时,会让阅读你代码的人困惑:“这个变量在哪里初始化的,和之前的代码有关系吗?和include进来的文件有关系吗?”
    使用NULL ===来代替is_null
    • is_null和NULL ===完全是一样的效果,但是却节省了一次函数的调用。
    尽量使用===尽量不用==
    • PHP有两组相等比较运算符===/!==和==/!=,==/!=会有隐式类型转换,而===/!==会严格比较两个操作时是否类型相同并且值相等。
    避免在for循环中计算
    • 会导致每次循环都运行计算
    strtr替代str_replace
    • strtr函数的效率是str_replace的四倍
    优先使用单引号
    • $row['id']的效率是$row[id]的7倍
    header头的编码
    header("Content-type: text/html;charset=utf-8");
    php结束标记不要写
    •  纯PHP代码,最好在文件末尾删除PHP结束标记
    测试环境开启所有错误
    error_reporting(7)
    • E_ERROR
    • E_WARNING
    • E_PARSE
        切记,上线之后要关闭我们的报错,将我们的错误代码写入到错误日志中,方便查错
    屏蔽错误非常低效
    • 养错不用@的好习惯
    用FALSE表示错误,用NULL表示不存在
    • 对于操作类的函数,失败返回FALSE,表示“操作失败了”,而对于查询类的函数,如果找不到想要的值,则应该返回NULL,表示“找不到”。
    优先使用PHP 内置函数
    • 正则耗时,尽量避免,而采用直接的字符串处理函数代替,如:
    filter_var('zhangsan@163.com',FILTER_VALIDATE_EMAIL);
    • 有用的PHP内置函数
    usort--使用用户自定义的比较函数对数组中的值进行排序
    rawurlencode--按照RFC1738对url进行编码
    parse_url--解析URL,返回其组成部分
    http_build_query--生成URL-encode之后的请求字符串
    exif_imagetype--判断一个图像的类型
    uniqid--生成一个唯一ID
    get_browser--获取浏览器具有的功能
    str_word_count--返回字符串中单词的使用情况
    防御式编程思想
    • 不要相信外部的一切输入!所以的输入都要检查
    使用PDO操作MySQL
  • 相关阅读:
    zookeeper3.5.6单机集群环境搭建
    mycat分表
    myacat分片及全局表定义
    装饰器
    函数参数,作用域
    可变,不可变,无序, 有序
    dict
    列表可变,元祖不可变
    列表操作
    字符串find
  • 原文地址:https://www.cnblogs.com/shengChristine/p/10823492.html
Copyright © 2011-2022 走看看