blyang 你长的很好看啊~
关于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