标签: PHP
编程

PHP 8.3: class_alias() 支持内置 PHP 类创建别名

1251 2023-10-28 20:21:00

class_alias PHP 函数用于为一个类创建别名。别名类和原始类的行为完全一致。在 PHP 8.3 之前,为内置的 PHP 类创建别名会导致 ValueError 异常:// Not allowed in PHP < 8.3 class_alias('stdClass', 'MyNewClass'); class_alias('Travers...

详情...
编程

PHP 8.3: PHP CLI Lint (php -l) 支持一次额 linting 多个文件

1158 2023-10-28 18:42:00

PHP 的 CLI 命令行提供了 Linting 特性,用于检测传入的文件是否有语法错误。这对于在执行前快速检测 PHP 文件或者代码片段非常有用。php -l my-file.phpNo syntax errors detected in my-file.phpPHP 8.3 之前,同一个调用中要 lint 多个 PHP 文件时不可能的,无论提供了介个文件...

详情...
编程

让 Composer 建议将开发包放到 require-dev

1238 2023-10-26 18:03:00

Composer 2.4 添加了一个新特性,使得如果包用作开发工具使,composer require 命令提示使用 --dev 标志安装该包。当传入 --dev 标志时,该包在 composer.json 文件的 require-dev 区域中安装,其他 Composer 命令(比如 composer update,install, dump-autolo...

详情...
编程

PHP 8.3: highlight_file 和 highlight_string 输出 HTML 变更

1113 2023-10-24 16:04:00

PHP 的 highlight_file 和 highlight_string 函数为 PHP 提供了语法高亮支持。他们接受包含 PHP 代码的文件或者字符串,并返回一个带有 PHP 关键词、函数和其他高亮 token 的 HTML 代码片段。语法高亮器的颜色可以通过 PHP INI 指令进行配置。PHP 8.3 对语法高亮器做了一些修改,导致了 HTML ...

详情...
编程

PHP 8.3: 某些 PHP 扩展类中的类常量类型声明

1075 2023-10-23 15:38:00

作为对 PHP 8.3 中支持类常量类型的 PHP 的后续更改,Phar、SNMP 和 Phar 扩展类常量将使用常量类型进行更新。任何扩展以下类并覆盖现有常量的用户空间 PHP 类都将导致致命错误。扩展这些类的用户空间 PHP 类并重写常量的情况并不常见。受影响的扩展:Phar 扩展中的 \Phar 类;SNMP 扩展中的 \SNMP 类;...

详情...
编程

PHP 8.4 预览: phpinfo: 显示 PHP 整型大小信息

1333 2023-10-22 15:22:00

PHP 8.4 这种 phpinfo() 输出会显示当前 PHP 安装所支持的整型位数(bit)大小。整型大小也包含在 PHP CLI 输出中: Zend Extension => 420230901 Zend Extension Build => API420230901,TS,VS16 PHP Extension Build =>...

详情...
编程

PHP 8.3: 类常量显式类型

1322 2023-10-20 15:18:00

PHP 8.3 及之后的版本支持对 PHP 类常量进行类型声明。这样可以在子类和接口实现重写常量时,保证常量的类型兼容。PHP 8.3 之前,无法以编程方式强制执行类型兼容性。在 PHP 8.3 及其之后,类常量可以在 const 关键词之后声明类型:class Test { const string TEST_CONSTANT = 'test'; ...

详情...
编程

桌面和移动端 User Agent 解析器

1070 2023-10-17 23:23:00

Jenssegers-agent 包是一个支持 Laravel 的桌面端/移动端 User Agent 解析器,基于 MobileDetect。你可以在任何 PHP 应用中使用这些包,并且它也提供了 Laravel 服务提供者,提供了服务 Facade:

详情...
编程

PHP 8.0: 类魔术方法签名严格执行

1304 2023-09-09 11:48:00

PHP 中的魔术方法是特殊的类方法名称,如果声明了这些名称,就会为类带来特殊的功能。PHP 中有几种神奇的方法 __construct() 魔术方法在用 new Foo() 模式实例化新的类对象时调用,__get() 方法在请求不存在的类属性时调用,___toString() 魔术方法在类对象被强制为字符串时调用,依此类推。尽管所有这...

详情...
编程

PHP 8.1: Serializable 接口弃用

1636 2023-09-08 11:45:00

PHP 支持 serialize 和 unserialize 函数用于将类对象、数组及其他标量数据转换为序列化字符串格式,及从序列化字符串中重建。PHP 类可以提供他们自己的序列化实现。比如,类可以排除特定敏感信息,不将其添加到序列化字符串中,或者类可以从序列化文本中获取的服务器URL重新建立与远程服务器的连接。PHP 类有三种方式提供自定义序列化逻辑:...

详情...