欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年PHP编码技巧 .pdf

    • 资源ID:34879628       资源大小:83.03KB        全文页数:10页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年PHP编码技巧 .pdf

    PHP编码技巧 .txt小时候觉得父亲不简单,后来觉得自己不简单,再后来觉得自己孩子不简单。越是想知道自己是不是忘记的时候,反而记得越清楚。PHP 是一门松散类型的语言(Loosely Typed Language)1:如果一个方法能被定义成静态的static ,那么定义成静态的速度可快25% 2: echo 的效率高于print,因为 echo 没有返回值3:在循环之前设置最大的次数,而不是在循环之中4:销毁变量去释放内存,特别是大的数组unset() 只能销毁超过256 个字节的变量内存,否则空间是不被释放的结论一、 unset()函数只能在变量值占用内存空间超过256 字节时才会释放内存空间。结论二、只有当指向该变量的所有变量(如引用变量)都被销毁后,才会释放内存。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(); 9: 用 掩盖错误会降低运行速度10:养成对数组健加引号的习惯,这样速度会快7 倍如: $_rowid与$_rowid; 11: 错误信息很有用12:在循环里别用函数,如count ()在外面先计算13:在方法里面建立局部变量速度快14:全局变量几乎要比局部变量慢2 倍15:对象属性要双局部变量慢3 倍16:初始化的局部变量要比未定义的局部变量快9-10 倍17:子类的方法性能优于基类方法18:只调用一个参数并且函数体为空的函数运行花费的时间等于7-8 次$localvar+运算,而名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 一个类似的方法( 类里的函数 ) 运行等于大约15 次$localvar+运算 ; 19:当用 echo 输出字符串时用逗号代替点运行快些20: 在 apache 服务器里一个php 脚本页面比相应的HTML静态页面生成至少要多花2-10 倍的时间,建议多用些静态HTML 页面和少量的脚步; 21:除非你的安装了缓存,不然你的php 脚本每次被访问都需要被重编译。建议安装个php缓存程序,这样通过去除一些重复的编译来很明显的提高你20-100%的性能 ; 22:建议用memcached ,高性能的分布式内存对象缓存系统,提高动态网络应用程序性能,减轻数据库的负担; 23:使用 long2ip()或者是 ip2long()函数将 IP 地址转换成整型存入数据库,能降低25% 的存储空间,同时也可以很容易对IP 进行排序和快速查找24:考虑使用mysql_* 的改良函数mysqli_*; 25: 尽量优先使用三元运算符(a?a:b;) 26: 注意使用PEAR资源库27:使用 error_reporting(0)函数来预防潜在的敏感信息显示给用户。理想的错误报告应该被完全禁用在php.ini文件里。 可是如果你在用一个共享的虚拟主机,php.ini你不能修改,那 么 你 最 好 添 加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) 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为两个表的公共字段) 或者是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 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:str_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() 函数strpos() 函数用于在字符串内检索一段字符串或一个字符。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: 打开文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - fopen() 函数用于在 PHP 中打开文件。52: 检测 End-of-file feof() 函数检测是否已达到文件的末端 (EOF) 。在循环遍历未知长度的数据时,feof() 函数很有用。53: 逐行读取文件fgets() 函数用于从文件中逐行读取文件。注释:在调用该函数之后,文件指针会移动到下一行。54: 逐字符读取文件fgetc() 函数用于从文件逐字符地读取文件。注释:在调用该函数之后,文件指针会移动到下一个字符。55; 通过使用 PHP 的全局数组 $_FILES ,你可以从客户计算机向远程服务器上传文件。 * $_FILESfilename - 被上传文件的名称 * $_FILESfiletype - 被上传文件的类型 * $_FILESfilesize - 被上传文件的大小,以字节计 * $_FILESfiletmp_name - 存储在服务器的文件的临时副本的名称 * $_FILESfileerror - 由文件上传导致的错误代码56: 保存被上传的文件 move_uploaded_file($_FILESfiletmp_name, upload/ . $_FILESfilename); 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() 函数必须位于 标签之前:终结 Session 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 错误处理 * 简单的 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 的默认错误处理程序是内建的错误处理程序。我们打算把上面的函数改造为脚本运行期间的默认错误处理程序。可以修改错误处理程序,使其仅应用到某些错误,这样脚本就可以不同的方式来处理不同的错误。不过,在本例中,我们打算针对所有错误来使用我们的自定义错误处理程序: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 提供了一种新的面向对象的错误处理方法。 * 异常的基本使用 * 创建自定义的异常处理器 * 多个异常 * 重新抛出异常 * 设置顶层异常处理器Try, throw 和 catch 1. Try - 使用异常的函数应该位于 try 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - 2. Throw - 这里规定如何触发异常。每一个 throw 必须对应至少一个catch 3. Catch - catch 代码块会捕获异常,并创建一个包含异常信息的对象 catch(Exception $e) echo Message: .$e-getMessage(); 创建一个自定义的 Exception 类class customException extends Exception. 69:PHP 过滤器( Filter)PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入。 * 来自表单的输入数据 * Cookies * 服务器变量 * 数据库查询结果70: 函数和过滤器如需过滤变量,请使用下面的过滤器函数之一: * filter_var() - 通过一个指定的过滤器来过滤单一的变量 * filter_var_array() - 通过相同的或不同的过滤器来过滤多个变量 * filter_input - 获取一个输入变量,并对它进行过滤 * filter_input_array - 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤71:Validating 过滤器: * 用于验证用户输入 * 严格的格式规则(比如 URL 或 E-Mail 验证) * 返回若成功预期的类型,否则返回 FALSE 72:Sanitizing 过滤器: * 用于允许或禁止字符串中指定的字符 * 无数据格式规则 * 始终返回字符串73: 净化输入首先,我们要确认是否存在我们正在查找的输入数据。然后,我们用 filter_input() 函数来净化输入数据。74: 过滤多个输入表单通常由多个输入字段组成。为了避免对 filter_var 或 filter_input 重复调用,我们可以使用 filter_var_array 或 the filter_input_array 函数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - 75:PHP Array 函数PHP 支持单维和多维的数组。同时提供了用数据库查询结果来构造数组的函数。76:PHP Calendar 函数当使用不同的历法格式时,calendar 函数很有用。它所基于的标准是儒略日计数(Julian day count)。编者注: Julian day count 是从 January 1, 4713 B.C. 开始计算的,中文译为儒略日计数或恺撒日计数。请注意, Julian day count(儒略日计数)与 Julian calendar(儒略历)不是一回事。注释:如需在日历格式之间转换,必须首先转换为 Julian day count ,然后再转换为日历格式。77:PHP Date / Time 函数date/time 函数允许您提取并格式化服务器上的日期和时间。注释:这些函数依赖于服务器的本地设置。78:PHP Directory 函数Directory 函数允许您获得关于目录及其内容的信息。79:PHP Error 和 Logging 函数error 和 logging 函数允许你对错误进行处理和记录。error 函数允许用户定义错误处理规则,并修改记录错误的方式。logging 函数允许用户对应用程序进行日志记录,并把日志消息发送到电子邮件、系统日志或其他的机器。80:PHP Filesystem 函数Filesystem 函数允许您访问和操作文件系统。81:PHP Filter 函数PHP 过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。82:PHP FTP 函数FTP 函数通过文件传输协议 (FTP) 提供对文件服务器的客户端访问。FTP 函数用于打开、登录以及关闭连接,同时用于上传、下载、重名命、删除及获取文件服务器上的文件信息。不是所有 FTP 函数对每个服务器都起作用或返回相同的结果。自PHP 3 起, FTP 函数可用。这些函数用于对 FTP 服务器进行细致的访问。如果您仅仅需要对 FTP 服务器进行读写操作,建议使用 Filesystem 函数中的 ftp:/ wrapper。83:PHP HTTP 函数HTTP 函数允许您在其他输出被发送之前,对由 web 服务器发送到浏览器的信息进行操作。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - - - 84:PHP libxml 函数libxml 函数和常量与 SimpleXML, XSLT 以及 DOM 一起使用。85:PHP Mail 函数HTTP 函数允许您从脚本中直接发送电子邮件。要使邮件函数可用, PHP 需要已安装且正在运行的邮件系统。要使用的程序是由 php.ini 文件中的配置设置定义的。86:PHP Math 函数数学 (Math) 函数能处理 integer 和 float 范围内的值。87:PHP MySQL 函数MySQL 函数允许您访问 MySQL 数据库服务器。88:PHP SimpleXML 函数SimpleXML 函数允许您把 XML 转换为对象。通过普通的属性选择器或数组迭代器,可以处理这个对象,就像处理任何其他对象一样。其中的一些函数需要最新的 PHP 版本。89:PHP String 函数String 字符串函数允许您对字符串进行操作。90:PHP XML Parser 函数91:PHP Zip File 函数压缩文件函数允许我们读取压缩文件。92:路径分隔符DIRECTORY_SEPARATOR:linux上就是 / windows 上是93: get_include_path() =PATH_SEPARATOR是一个常量,在Linux系统中是一个 : 号,Windows 上是一个 ; 号。所以编写程序时最好用常量 PATH_SEPARATOR 代替,否则如果系统从 linux移植到 win 系统或反过来移植会出错!get_include_path取得当前已有的环境变量 , 加上前面的设置就是新的系统include 94: get_include_path()设置包含路径set_include_path(get_include_path() . PATH_SEPARATOR . $path); 比如你有一个文件夹:命名为include,里面有数据库连接文件:conn.php , 你这样设置:set_include_path(/include) 那么以后你就直接可以在其他页面中使用include(conn.php) 这不是经常见到吗?它参数就字符串,当然你也可以设置多个路径,中间用; 分开,95:spl_autoload_functions() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - 返回所有已注册的_autoload()函数。96:spl_autoload_register() spl_autoload_register()函数应该是主流框架使用最多的也是非常核心的函数之一,可实现自动注册函数和类,实现类似 _autoload() 函数功能, 简化了类的调用与加载,提高了工作的效率,这里通过一个实验谈谈这个函数的部分特征。97:const 是常量,即从程序运算开始到结束,数值不变的量。static 用于变量, 声明这个变量的存储单元静态分配,从程序运算开始到结束这个变量的存储单元不变化。static常用于全局量,一是存在里面的值始终有效,不因进退出子程序数值消失,另外static的变量运算速度比非静态分配的快。98:is_callable() function someFunction() $functionVariable = someFunction; var_dump(is_callable($functionVariable, false, $callable_name); / bool(true) 99: mb_internal_encoding()设置 / 获取内部字符编码mb_internal_encoding(UTF-8); 在 php.ini 里 搜索 dll,找到 mb 开头的 dll 将前面的分号去掉,重启apache or iis 100:instanceof instanceof是 php5 为面向对象引入的php 中唯一的类型运算符。在 php5 之前通过is_a()实现,现在已经不推荐使用了。instanceof用来检测一个给定的对象是否属于(继承于)某个类(class ) 、某个类的子类、某个接口(interface) 。如果是则返回true 。看下面的一段代码,很容易理解。if (object instanceof class name)/继承关系/ 101:gmdate() 用法time()函数是获得当前的时间戳$times=gmdate(Y-m-d H:i:s,time(); 用 $times 这样直接就可以插入你说的数据库!102:php_sapi_name () 主要用途是判断提供PHP接口的 WEB 服务是什么类型比如是 Apache ,还是 IIS 或者 Nginx. 103:header(Status: 304 Not Modified); 头( 状态: 304 未修改 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - 是 client与 server响应不一致的时候header(HTTP/1.1 304 Not Modified); 头( HTTP/1.1的 304 未修改 ); 104:ucfirst()首字母大写105:array_unique()函数array_unique() 函数移除数组中的重复的值,并返回结果数组。当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。返回的数组中键名不变。106:class_exists() 107:array_pop($arr) 删除数据最后一个值108:serialize($data) 有的时候为了把一些数据转为字符串存起来,但是希望保持数据原来有结构和内容。就要用到这个函数。 unserialize($data) 把描述过的数据恢复名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -

    注意事项

    本文(2022年PHP编码技巧 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开