PHP 8.5 正式发布!新特性一览
PHP 8.5 于本月,即 2025 年 11 月 20 日发布,其特色功能包括管道运算符、新的 URI 扩展、新的 array_first() 和 array_last() 函数等等:管道运算符对于希望将多个可调用对象链接在一起,并以原生方式从左到右传递值的 PHP 开发人员来说,管道运算符是一个令人兴奋的工具:// Using the pipe ope...
深入 Laravel 服务容器
Laravel 的服务容器是一个安静的引擎,它将你的应用连接在一起。它处理依赖注入、自动连接以及使大型应用感觉简单的小决策。在本文中,我们将揭开它如何解析类的神秘面纱,如何以正确的方式注册绑定,如何根据上下文选择不同的实现,以及如何自信地测试和调试应用。容器的核心是将“我需要 X”映射为“如何构建 X”。就是这样。一旦你得到了这个心理模型,其他一切都会到...
PHP 中动态方法调用的风险
概述在你的 PHP 应用中,有时可能会看到使用动态方法调用。这通常是指在运行时构造方法名称,然后在对象上调用。例如,$this->{'methodName'}() 可用于调用名为 methodName 的方法。动态方法调用很有用,但也存在一些应该注意的风险。本文中,我们将探讨在 PHP 中使用动态方法调用的风险,并提供一些可供考虑的替代方案。什么是动态...
管理 Laravel 中的信用系统
Laravel 的 Credits 包是一个基于账本的 Laravel 扩展包,用于管理应用中的信用系统。适用于虚拟货币、奖励积分或任何基于信用的特性:use Climactic\Credits\Traits\HasCredits; class User extends Model { use HasCredits; } // Basic u...
PHP 8.5:新增 PHP_BUILD_PROVIDER 常量
PHP 8.5 引入了一个新的全局 PHP 常量 PHP_BUILD_PROVIDER,它包含构建时设置的 PHP_BUILD_PROVIDER 环境变量。该环境变量的内容是任意的,但其目的是在 PHP 构建步骤中使用,以添加一些关于构建提供程序的上下文信息。如果在构建时未设置 `PHP_BUILD_PROVIDER` 环境变量,则不会声明 PHP_BUIL...
7 个使用 PHP 8.5 的管道操作符的真实情景
PHP 8.5 的管道符 (|>) 是一项功能强大的新增特性,它通过清晰简洁的方式实现操作链式调用,支持更具函数式编程风格的代码编写。它取左侧表达式的结果,并将其作为第一个参数传递给右侧的函数或方法。$value = "hello world"; $result = $value |> function3(...) |> ...
在 Debian 和 Ubuntu 中安装升级 PHP 8.5
PHP 8.5 支持管道语法、新的 URI 扩展,并包含大量弃用项和性能改进,是一个经过精心打磨的 PHP 版本,现已正式发布。设置 Ubuntu 或 Debian 服务器,或从之前的 PHP 版本升级,都是一个快速的过程。本指南旨在详细解释这些步骤,并列出需要注意的事项。本指南适用于 Debian、Ubuntu 及其衍生发行版,并解释了如何使用预编译的二进...
Ada 编程语言简介
Ada 是一种结构化、静态类型、命令式、面向对象的高级编程语言。他非常注重可靠性、效率和安全性,使其适用于大型、长期应用和嵌入式/实时系统。常用在错误可能非常危险的系统中,例如航空电子设备(飞机)、空中交通管制和军事/航空航天应用。它以 Ada Lovelace 的名字命名,她被广泛认为是第一位计算机程序员...
PHP 8.5:在闭包中获取当前闭包
PHP 8.5 将支持闭包中的递归,方法是获取当前正在执行的闭包(感谢 Alexandre Daubois 的贡献)。正如 rfc:closure_self_reference RFC 中指出的,目前的变通方法是将变量引用绑定到闭包中。PHP 8.5 提供了静态方法 Closure::getCurrent() 来获取当前正在运行的闭包:$fibonacci ...