关于PHP
发表于:
|
分类: 默认分类 |
评论:0 | 阅读:
185
empty 和 is_set
- empty:不管对象有没有定义,关心的是里面有没有实质化的数据,注意 0和‘0’ 也是空值
- is_set: 关心对象有没有被定义,而不管定义之后有没有赋值
== 和 ===
- ==: 宽松的对比两个变量,只比较值,不必对类型。比如: ‘’ == 0 返回 true
- ===: 要求数据类型和值必须严格一致
PHP 超级全局变量
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
PHP魔术变量
__LINE__
__FILE__
__DIR__
__FUNCTION__
__CLASS__
__TRAIT__
__METHOD__
__NAMESPACE__
PHP内建函数(PHP手册)
- PHP爆发强大生命力的根本,就是内建的一千多个函数,取代了很多需要自己编写的工作。没事多翻翻PHP手册
include 和 require 语句
- 两者多功能相近,都是引用并运行某段程序
- 报错
- include 引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码
- require 引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码
- 文件引用
- include() 执行时需要引用的文件每次都要进行读取和评估
- require() 执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了 require() 语句)
- 若是相同的代码执行,则可以用require,效率比较高
- 若读取的是变动的文件,则可以使用include
- PHP 系统在加载PHP程序时有一个伪编译过程,可使程序运行速度加快。但 incluce 的文档仍为解释执行
- require() 和 include() 语句是语言结构,不是真正的函数,括号可加可不加
- include_once() 和 require_once() :功能和不加_once一致,区别是如果该文件中的代码已经被包括了,则不会再次包括,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题
PHP 过滤器
filter_has_var
: 是否存在制定类型的变量
filter_id
: 某个特定名称的过滤器关联ID
filter_list
: 返回所支持的过滤器列表
filter_input, filter_input_array
: 过滤一个或一组外部变量
filter_var, filter_var_array
: 多个变量的过滤
PHP7新特性(对我来说有用的不多)
- intdiv() 函数
- password_hash() 随机因子选项。函数原 salt 量不再需要由开发者提供了。函数内部默认带有 salt 能力,无需开发者提供 salt 值
- 移除了一些扩展,比如Mysql
- 移除了一些SAPI
SAPI: Server Application Programming Interface 服务器端应用编程端口
- 提供了应用程序和PHP通信的通道,比较典型的就是FastCGI
CGI
- WebServer只是内容分发,只做静态内容分发,不能直接处理静态或者动态的请求。动态请求则转交给PHP处理工具,转交的通道叫做CGI(SAPI的一种)
- CGI工作流程
- 每次当WebServer收到index.php这种类型的动态请求后,会启动对应的CGI程序(PHP的解析器)
- PHP解析器会解析php.ini配置文件,初始化运行环境,然后处理请求,处理完成后将数据按照CGI规定的格式返回给WebServer然后退出进程
- 最后WebServer再把结果返回给浏览器
- 因为CGI为每一次请求增加一个进程,效率很低,所以基本已经不在生产部署时采用。但由于CGI对php配置的敏感性,通常被用在开发和调试阶段
FastCGI
- CGI的增强版本
- 工作流程
- WebService启动时,加载FastCGI进程管理器(Nginx对应php-fpm)
- FastCGI进程读取php.ini配置文件,并启动多个cgi解释器线程(php-cgi),等待来自WebServer的连接
- WebServer收到客户端请求,FastCGI选择并连接一个CGI解释器,WebServer将相关环境变量和标准输入发送给php-cgi进行处理
- FastCGI子进程完成处理后将数据按照CGI规定的格式返回给WebServer,然后关闭FastCGI子进程或者等待下一次请求
php.ini
- PHP配置文件,在PHP启动时被读取。web服务器模式只在服务器启动时读取一次,CLI模式下每次调用都会重新读取
微信打赏
支付宝打赏
TOP
评论已关闭