PHP 8.3: highlight_file 和 highlight_string 输出 HTML 变更
PHP 的 highlight_file 和 highlight_string 函数为 PHP 提供了语法高亮支持。他们接受包含 PHP 代码的文件或者字符串,并返回一个带有 PHP 关键词、函数和其他高亮 token 的 HTML 代码片段。语法高亮器的颜色可以通过 PHP INI 指令进行配置。PHP 8.3 对语法高亮器做了一些修改,导致了 HTML ...
PHP 8.3: 某些 PHP 扩展类中的类常量类型声明
作为对 PHP 8.3 中支持类常量类型的 PHP 的后续更改,Phar、SNMP 和 Phar 扩展类常量将使用常量类型进行更新。任何扩展以下类并覆盖现有常量的用户空间 PHP 类都将导致致命错误。扩展这些类的用户空间 PHP 类并重写常量的情况并不常见。受影响的扩展:Phar 扩展中的 \Phar 类;SNMP 扩展中的 \SNMP 类;...
PHP 8.4 预览: phpinfo: 显示 PHP 整型大小信息
PHP 8.4 这种 phpinfo() 输出会显示当前 PHP 安装所支持的整型位数(bit)大小。整型大小也包含在 PHP CLI 输出中: Zend Extension => 420230901 Zend Extension Build => API420230901,TS,VS16 PHP Extension Build =>...
PHP 8.3: 类常量显式类型
PHP 8.3 及之后的版本支持对 PHP 类常量进行类型声明。这样可以在子类和接口实现重写常量时,保证常量的类型兼容。PHP 8.3 之前,无法以编程方式强制执行类型兼容性。在 PHP 8.3 及其之后,类常量可以在 const 关键词之后声明类型:class Test { const string TEST_CONSTANT = 'test'; ...
桌面和移动端 User Agent 解析器
Jenssegers-agent 包是一个支持 Laravel 的桌面端/移动端 User Agent 解析器,基于 MobileDetect。你可以在任何 PHP 应用中使用这些包,并且它也提供了 Laravel 服务提供者,提供了服务 Facade:
PHP 8.0: 类魔术方法签名严格执行
PHP 中的魔术方法是特殊的类方法名称,如果声明了这些名称,就会为类带来特殊的功能。PHP 中有几种神奇的方法 __construct() 魔术方法在用 new Foo() 模式实例化新的类对象时调用,__get() 方法在请求不存在的类属性时调用,___toString() 魔术方法在类对象被强制为字符串时调用,依此类推。尽管所有这...
PHP 8.1: Serializable 接口弃用
PHP 支持 serialize 和 unserialize 函数用于将类对象、数组及其他标量数据转换为序列化字符串格式,及从序列化字符串中重建。PHP 类可以提供他们自己的序列化实现。比如,类可以排除特定敏感信息,不将其添加到序列化字符串中,或者类可以从序列化文本中获取的服务器URL重新建立与远程服务器的连接。PHP 类有三种方式提供自定义序列化逻辑:...
如何在 Ubuntu 18.04 上安装 OpenCart
通过本教程你将学会如何在 Ubuntu 18.04 服务器上安装 OpenCart。需求 :1.域名2.Ubuntu 上安装 Nginx 服务器3.SSL 证书。更新系统软件包至最新版,并使用下面命令进行安装:sudo apt update && sudo apt install unzip 步骤 1 - 创建 MySQL ...
PHP 8.1: MySQLi: 执行时绑定
PHP 8.1 起,MySQLi 扩展的 mysqli_stmt_execute 函数及 mysqli_stmt::execute 方法(别名) 接收一个 $params 参数。如果传入参数,传入的值会被当作字符串绑定到语句中。此前,参数化的 SQL 查询需要调用 bind_param 显式绑定变量:$statement = $db->prepare(...)
PHP 8.1: 显式八进制数字表示法
PHP 支持多种数字系统,包括默认的十进制数字、二进制数字、八进制数字及十六进制数。十进制之外的数字系统都有它们自己的前缀:十六进制 0x 前缀: e.g. 0x11 = 17二进制 0b 前缀: e.g. 0b11 = 3八进制 0 前缀: e.g. 011 = 9PHP 8.1 之后,八进制也支持 0o(零及字母o)前缀,这意味着八进制字面量可以更明显及...