文章分类: 编程
编程

PHP 8.3: 新增 stream_context_set_options 函数

322 2023-10-29 20:42:00

PHP 有一个 stream_context_set_option 函数,支持两种函数签名。它可以接受为一个或者多个 context/wrapper 设置的一个 options 数组;也可以接受一个单一的 wrapper 名,选项名,及其选项值。function stream_context_set_option($stream_or_context, st...

详情...
编程

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

381 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 多个文件

336 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

322 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 变更

309 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扩展类中的类常量类型声明

317 2023-10-23 15:38:00

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

详情...
编程

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

531 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: 类常量显式类型

376 2023-10-20 15:18:00

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

详情...
编程

OpenCart 4 的事件系统

422 2023-10-18 19:38:00

OpenCart 4.0 有一个事件系统,允许你在代码执行的特定时刻执行特定操作。这允许你在不修改源码的情况下,扩展 OpenCart 的功能。当特定事件发生时,事件系统为该事件调用所有注册的句柄。每个句柄可以有自己的代码去处理事件。OpenCart 有一些内置事件,像 “catalog/view/common/header/before”,“catalog...

详情...
编程

桌面和移动端 User Agent 解析器

312 2023-10-17 23:23:00

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

详情...