2022年PHP编码技巧 .pdf
《2022年PHP编码技巧 .pdf》由会员分享,可在线阅读,更多相关《2022年PHP编码技巧 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PHP编码技巧 .txt小时候觉得父亲不简单,后来觉得自己不简单,再后来觉得自己孩子不简单。越是想知道自己是不是忘记的时候,反而记得越清楚。PHP 是一门松散类型的语言(Loosely Typed Language)1:如果一个方法能被定义成静态的static ,那么定义成静态的速度可快25% 2: echo 的效率高于print,因为 echo 没有返回值3:在循环之前设置最大的次数,而不是在循环之中4:销毁变量去释放内存,特别是大的数组unset() 只能销毁超过256 个字节的变量内存,否则空间是不被释放的结论一、 unset()函数只能在变量值占用内存空间超过256 字节时才会释放内存
2、空间。结论二、只有当指向该变量的所有变量(如引用变量)都被销毁后,才会释放内存。5:避免使用 _construct, _destruct , _call, _callStatic,_get, _set, _isset, _unset , _sleep, _wakeup, _toString, _set_state, _clone and _autoload 等魔术方法6: 避免 require_once()比较耗资源7:在 include,或者是 require中尽量使用绝对路径,减少分析时间8:如果你需要得到脚本的执行时间那么用$_SERVERREQUEST_TIME 要优于 time();
3、 9: 用 掩盖错误会降低运行速度10:养成对数组健加引号的习惯,这样速度会快7 倍如: $_rowid与$_rowid; 11: 错误信息很有用12:在循环里别用函数,如count ()在外面先计算13:在方法里面建立局部变量速度快14:全局变量几乎要比局部变量慢2 倍15:对象属性要双局部变量慢3 倍16:初始化的局部变量要比未定义的局部变量快9-10 倍17:子类的方法性能优于基类方法18:只调用一个参数并且函数体为空的函数运行花费的时间等于7-8 次$localvar+运算,而名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
4、- 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 一个类似的方法( 类里的函数 ) 运行等于大约15 次$localvar+运算 ; 19:当用 echo 输出字符串时用逗号代替点运行快些20: 在 apache 服务器里一个php 脚本页面比相应的HTML静态页面生成至少要多花2-10 倍的时间,建议多用些静态HTML 页面和少量的脚步; 21:除非你的安装了缓存,不然你的php 脚本每次被访问都需要被重编译。建议安装个php缓存程序,这样通过去除一些重复的编译来很明显的提高你20-100%的性能 ; 22:建议用memcached
5、,高性能的分布式内存对象缓存系统,提高动态网络应用程序性能,减轻数据库的负担; 23:使用 long2ip()或者是 ip2long()函数将 IP 地址转换成整型存入数据库,能降低25% 的存储空间,同时也可以很容易对IP 进行排序和快速查找24:考虑使用mysql_* 的改良函数mysqli_*; 25: 尽量优先使用三元运算符(a?a:b;) 26: 注意使用PEAR资源库27:使用 error_reporting(0)函数来预防潜在的敏感信息显示给用户。理想的错误报告应该被完全禁用在php.ini文件里。 可是如果你在用一个共享的虚拟主机,php.ini你不能修改,那 么 你 最 好
6、添 加error_reporting(0)函 数 , 放 在 每 个 脚 本 文 件 的 第 一 行 ( 或 用require_once()来加载 )这能有效的保护敏感的SQL查询和路径在出错时不被显示; 28: 使用 gzcompress() 和 gzuncompress() 对容量大的字符串进行压缩和解压再存进和取出数据库时,这种内置函数使用gzip 算法能压缩到90%; 29: 接受函数参数的函数func_get_args();返回的是一个参数组成的数组30: 使用 glob 查找文件如 glob(*.php) glob(*.php,txt) glob(./images/a*.jpg)
7、31: 如果你想查看文件的完整路径那么可以用realpath(); 32: 魔 术 常 量_LINE_ _FILE_ _DIR_ _FUNCTION_ _CLASS_ _METHOD_ _NAMESPACE_ 33: 在 sql 语句中可以添加限制条件:left(text,20)只取出 text文本的前20 个字34:可以使用LIMIT fromRecord,recordNum来作为分页使用,35: 两个表的连接可以是:table1 join table2 using x(x为两个表的公共字段) 或者是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
8、 - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - table1 join table2 on table1.x=table2.x 36: 在 mysql 插入语句中如果是自增字段要用NULL代替37 :php中 文乱码问题mysql_query(set names gb2312);或者使用icon(GBK,UTF8,string)函数 ; 38:使用迭代,线性,增量式的敏捷开发39: 启用 disable_functions提高安全性,在php.ini中打开40:尽量使用PHP内置函数41:不要将方法细分过多42:st
9、r_replace函数比 preg_replace函数快, 但 strtr函数的效率是str_replace函数的四倍。42: PHP 在 windows 和 LINUX下的路径分隔符 DIRECTORY_SEPARATOR(windows下的是和/ ,而 LINUX下的是 / ) 43:date_default_timezone_get()获得服务器的时区如UTC 44:取得变量的类型 string gettype(mixed var); 45:返回由对象属性组成的关联数组 get_object_vars(obj) 46: 使用 strlen() 函数47: 使用 strpos() 函数st
10、rpos() 函数用于在字符串内检索一段字符串或一个字符。strpos(Hello world!,world); 48:PHP 的真正威力源自于它的函数。在 PHP 中,提供了超过 700 个内建的函数。49:mktime() 函数mktime() 函数可为指定的日期返回 Unix 时间戳。mktime(hour,minute,second,month,day,year,is_dst) 50:PHP 引用文件服务器端引用 (SSI) 用于创建可在多个页面重复使用的函数、页眉、页脚或元素。服务器端引用(Server Side Includes)51: 打开文件名师资料总结 - - -精品资料欢迎
11、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - fopen() 函数用于在 PHP 中打开文件。52: 检测 End-of-file feof() 函数检测是否已达到文件的末端 (EOF) 。在循环遍历未知长度的数据时,feof() 函数很有用。53: 逐行读取文件fgets() 函数用于从文件中逐行读取文件。注释:在调用该函数之后,文件指针会移动到下一行。54: 逐字符读取文件fgetc() 函数用于从文件逐字符地读取文件。注释:在调用该函数之后,文件指针会移
12、动到下一个字符。55; 通过使用 PHP 的全局数组 $_FILES ,你可以从客户计算机向远程服务器上传文件。 * $_FILESfilename - 被上传文件的名称 * $_FILESfiletype - 被上传文件的类型 * $_FILESfilesize - 被上传文件的大小,以字节计 * $_FILESfiletmp_name - 存储在服务器的文件的临时副本的名称 * $_FILESfileerror - 由文件上传导致的错误代码56: 保存被上传的文件 move_uploaded_file($_FILESfiletmp_name, upload/ . $_FILESfilena
13、me); 57:PHP Cookies setcookie() 函数用于设置 cookie 。注释: setcookie() 函数必须位于 标签之前。setcookie(name, value, expire, path, domain); 如何删除 cookie ?setcookie(user, , time()-3600); 58:PHP Sessions PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。注释: session_start() 函数必须位于 标签之前:终结 Sessi
14、on unset($_SESSIONviews); 59:PHP 发送电子邮件PHP mail() 函数用于从脚本中发送电子邮件。mail(to,subject,message,headers,parameters) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - 60:PHP 防止 E-mail 注入$field=filter_var($field, FILTER_SANITIZE_EMAIL); 61:PHP 错误处理 *
15、 简单的 die() 语句 * 自定义错误和错误触发器 * 错误报告62: 基本的错误处理:使用 die() 函数 die(File not found); 63: 创建自定义错误处理器error_function(error_level,error_message,error_file,error_line,error_context) 64:Set Error Handler PHP 的默认错误处理程序是内建的错误处理程序。我们打算把上面的函数改造为脚本运行期间的默认错误处理程序。可以修改错误处理程序,使其仅应用到某些错误,这样脚本就可以不同的方式来处理不同的错误。不过,在本例中,我们打算
16、针对所有错误来使用我们的自定义错误处理程序:set_error_handler(customError); 65: 触发错误这个任务由 trigger_error() 完成。66: 错误记录通过使用 error_log() 函数,您可以向指定的文件或远程目的地发送错误记录。67: 通过 E-Mail 发送错误消息 error_log(Error: $errno $errstr,1, ,From: ); 68:PHP 异常处理异常( Exception )用于在指定的错误发生时改变脚本的正常流程。PHP 5 提供了一种新的面向对象的错误处理方法。 * 异常的基本使用 * 创建自定义的异常处理器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年PHP编码技巧 2022 PHP 编码 技巧
限制150内