总结:PHP开发要点与技巧(1)

2022-10-11 21:37:40 173 0
魁首哥

总结:PHP开发要点与技巧(1)

  • Opcache :Opcache 来源于Zend Optimizer+改名,主要作用是通过将 PHP 脚本预编译的字节码存储到 共享内存 中来提升 PHP 的性能, 存储预编译字节码的好处就是省去了每次加载和解析 PHP 脚本的开销,但是对于I/O开销如读写磁盘文件、读写数据库等并无影响。Opcache 很有可能取代 APC 的位置,虽然没有 APC 那样的 user cache 功能。另外 Opcache 可能与eaccelerator、xcache 或 apc 等类似组件相冲突。

  • PHP-FPM进程池 :FastCGI Process Manager 的master process是常驻内存的,在进程池中动态创建并管理多个进程,可以有效控制内存和进程并平滑重载PHP配置,在发生意外情况的时候能够重新启动并恢复被破坏的 opcode。参考本人此篇 PHP-FPM进程池探秘 。

  • 数据类型 :PHP 支持 9 种原始数据类型:

Lambda表达式 (匿名函数)与 闭包 :Lambda表达式(匿名函数)实现了一次执行且无污染的函数定义,是抛弃型函数并且不维护任何类型的状态。闭包在匿名函数的基础上增加了与外部环境的变量交互,通过 use 子句中指定要导入的外部 环境变量

  • 单/ 双引号 、Heredoc、Nowdoc 单引号 字符串中只需要转义单引号(\’)、 反斜杠 (\\),其余原样输出;双引号字符串中的变量将被解析;Heredoc
    结构类似于双引号字符串;Nowdoc类似于单引号字符串,nowdoc 结构和 heredocs 结构使用一样的标记 <<<,
    但是跟在后面的标识符要用单引号括起来,即 <<<‘EOT’

  • 字串变量解析 :可分为解析和解析。解析和解析。解析就是解析出$引出的有效变量,{}解析则是解析{}中引出的变量

  • SQL 注入风险 :以下为列举部分

  • 大小写转换

  • 二进制 安全 :C字符串以空字符(‘\0’)为结束标志,这使得C字符串不能保存像图片、音频、视频、压缩文件这样的二进制数据,反之则称作二进制安全的。这个概念在PHP中经常提到,此处只做个简单解释。下面是Redis 简单动态字符串(SDS)的实现,它是二进制安全的:

  • / 和 % 以及 ** 运算符 取模运算 符%的 操作数 在运算之前都会转换成整数(除去小数部分),取模运算符%的结果和被除数的符号(正负号)相同,** 表示 乘方 运算

  • 运算符优先级 :优先级从上到下依次降低

  • unset() 与 NULL :删除引用,触发相应变量容器refcount减一,但在函数中的行为会依赖于想要销毁的变量的类型而有所不同,比如unset 一个全局变量,则只是 局部变量 被销毁,而在调用环境中的变量(包括函数参数引用传递的变量)将保持调用 unset 之前一样的值;unset 变量与给变量赋值NULL不同,变量赋值NULL直接对相应变量容器refcount = 0

pack()与unpack() :这两个函数可用作socket编程时的二进制串编码/解码函数

  • PHP7 – Group Use用法

  • PHP7 – NULL合并运算符(??)

  • PHP7 – 合并比较运算符(<=>)

  • PHP7 – 用户层随机数生成器 :更安全方便

  • PHP7 – declare (strict_type=1) :PHP7新增int、float、string和bool这4种标量类型声明,declare(strict_type=1)将使PHP不在自动对数据类型进行转换,PHP因此而成为了强类型语言。declare(strict_type=1)必须是文件的第一个语句,只影响当前文件内的全部函数调用,不会影响被它包含(通过include等方式)进来的其他文件。

  • PHP7 – 可捕获的Error :PHP7实现了一个全局的throwable接口,原来的 Exception 和部分Error都实现了这个接口。PHP7中有更多的Error变为可捕获的Exception返回给开发者,如果不进行捕获则为Error。

收藏
分享
海报
0 条评论
173
上一篇:如何使用PHP生成随机字符串 下一篇:什么是PDO?PHP工程师都需要学习

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码