php 特点
- 用 PHP 进行 HTTP 认证
- 可以用 header()函数来向客户端浏览器发送“Authentication Required”信息,使其弹出一个用户名/密码输入窗口。当用户输入用户名和密码后,包含有 URL 的 PHP 脚本将会加上预定义变量PHP_AUTH_USER,PHP_AUTH_PW和AUTH_TYPE被再次调用,这三
- Cookie
- PHP 透明地支持 HTTP cookie。cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。可以用 setcookie()或 setrawcookie()函数来设置 cookie。cookie 是 HTTP 标头的一部分,因此 setcookie()函数必须在其它信息被输出
- 会话(Session)
- 会话机制(Session)在PHP 中用于保持用户连续访问Web应用时的相关数据,有助于创建高度定制化的程序、增加站点的吸引力。关于会话机制的更多信息,请参见会话处理函数一章。When working on a project, I found a need to switch live sessi
- 处理 XForms
- » XForms 定义了一种传统 web 表单的变种,它可以用于更多的平台和浏览器,甚至非传统的媒体例如 PDF 文档。 XFroms 的第一个关键区别是表单怎样发送到客户端。» XForms for HTML Authors 包含有怎样创建 XForms 的详细说明。本节只
- 文件上传处理
- 本特性可以使用户上传文本和二进制文件。用 PHP 的认证和文件操作函数,可以完全控制允许哪些人上传以及文件上传后怎样处理。
- 使用远程文件
- 只要在php.ini文件中激活了allow_url_fopen选项,就可以在大多数需要用文件名作为参数的函数中使用 HTTP 和 FTP 的 URL 来代替文件名。同时,也可以在 include、include_once、require 及 require_once 语句中使用 URL。PHP 所支
- 连接处理
- 在 PHP 内部,系统维护着连接状态,其状态有三种可能的情况:0 - NORMAL(正常)1 - ABORTED(异常退出)2 - TIMEOUT(超时)当 PHP 脚本正常地运行 NORMAL 状态时,连接为有效。当远程客户端中断连接时,ABORTED 状态的标记将会被打开。远程客户端连接的中断通
- 数据库持久连接
- 持久的数据库连接是指在脚本结束运行时不关闭的连接。当收到一个持久连接的请求时。PHP 将检查是否已经存在一个(前面已经开启的)相同的持久连接。如果存在,将直接使用这个连接;如果不存在,则建立一个新的连接。所谓“相同”的连接是指用相同的用户名和密码到相同主机的连接。对 web 服务器的工作和分布负载没
- 安全模式
- PHP 的安全模式是为了试图解决共享服务器(shared-server)安全问题而设立的。在结构上,试图在 PHP 层上解决这个问题是不合理的,但修改 web 服务器层和操作系统层显得非常不现实。因此许多人,特别是 ISP,目前使用安全模式。Warning本特性已自 PHP 5.3.0 起废弃并将自
- PHP 的命令行模式
- 从版本 4.3.0 开始,PHP 提供了一种新类型的 CLI SAPI(Server Application Programming Interface,服务端应用编程端口)支持,名为 CLI,意为Command Line Interface,即命令行接口。顾名思义,该 CLI SAPI 模块主要用
- 垃圾回收机制
- 引用计数基本知识每个php变量存在一个叫"zval"的变量容器中。一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(reference set)。通过这个字节,
- DTrace 动态跟踪
- 包括 Solaris,macOS,Oracle Linux 和 BSD 在内的很多操作系统都提供了 DTrace 跟踪调试框架,它永远可用,并且额外消耗极低。 DTrace 可以跟踪操作系统行为和用户程序的执行情况。它可以显示参数值,也可以用来分析性能问题。用户可以使用 DTrace D 脚本语言创
- PHP 是什么
- PHP(Hypertext Preprocessor,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。
- PHP SAPI:CGI、FastCGI、PHP-FPM
- SAPI(Server Application Programming Interface)服务器应用程序编程接口,即一个 PHP 与其他应用交互的接口,是应用程序与外部程序的通讯协议。PHP 脚本要执行有很多种方式,可以通过 Web 服务器,或者直接在命令行下执行,也可以嵌入在其他程序中。而 SAPI 在这里扮演的角色,则是提供了一个与外部应用(如 Nginx 服务器)通信的接口,使得 PHP 可以和其他应用进行交互数据。PHP 中常用的 SAPI 有 CGI、FastCGI、apache2h
- php 执行过程
- PHP 从功能上来分:我们可以分为三部分:解释器部分(Zend 引擎),负责对输入代码的分析、翻译和执行。功能性部分(PHP 功能函数以及扩展),负责具体实现语言的各种功能(比如它的函数等等)。接口部分(SAPI),负责同 WEB 服务器的会话等功能。
- Zend 引擎
- Zend Engine 最主要的特性就是把 PHP 的边解释边执行的运行方式改为先进行预编译(Compile),然后再执行(Execute)。
- JIT 即时编译
- JIT(Just-In-Time)即时编译器。JIT 可以通过将 PHP 应用程序的全部或经常调用的部分作为 CPU 机器代码编译并存储并直接执行,从而绕过 Zend VM 及其过程开销,从而提高性能。JIT 是传统解释器和 AOT 编译器的混合体。混合模型带来了这两种方法的利弊,而经过微调的应用程序可以胜过 JIT 的弊端。
- opcache 优化
- OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。
- PHP 设计模式——依赖注入
- 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI)。
- PHP 7 新特性
- PHP 7+ 版本极大地改进了性能,在一些WordPress基准测试当中,性能可以达到PHP 5.6的3倍。
- PHP 8.0 新特性
- PHP8.0 作为 PHP 语言的一个版本更新。它包含了很多新功能与优化项, 包括命名参数、联合类型、注解、构造器属性提升、match 表达式、nullsafe、运算符、JIT,并改进了类型系统、错误处理、语法一致性。
- PHP 8.1 新特性
- PHP 8.1 中的所有新特性。纯交集类型。枚举。永不返回类型。Fibers。新的只读属性。定义最终类常量。新的 fsync()和 fdatasync()函数。新的 array_is_list()函数。新的 Sodium XChaCha20 函数。新的 IntlDatePatternGenerator 类。支持 AVIF 图像格式。新的$_FILES:目录上传的 full_path 键。对字符串键控数组的数组解包支持。显式八进制数字表示法。MurmurHash3 和 xxHash 哈希算法支持。
- PHP 8.2 新特性
- PHP 8.2 将于 2022 年 12 月 8 日发布。只读类(Readonly classes)。析取范式(DNF)类型。新的独立类型:null、false和true。新的 Random 扩展。traits 中的常量。弃用动态属性。
- 类中的静态属性、静态方法(static)
- PHP 还提供了静态属性和静态方法,所谓「静态」指的是无需对类进行实例化,就可以直接调用这些属性和方法。用static关键字来修饰类的属性、方法,被为静态属性、静态方法。