1、命名参数:一种允许开发者通过参数名称而非位置顺序将参数传递给函数的特性。这种特性提供了更高的灵活性和可读性,使得函数调用更加清晰、直观。
function greet($name, $age) {
echo "Hello $name, you are $age years old.";
}
greet(age: 25, name: "John");
2、Union Types:允许为函数参数、返回类型等指定多种可能的类型,从而增强代码的灵活性和可重用性。
function foo(string|int $value): void
{
echo $value;
}
3、Match表达式:一个更通用且简洁的语句选择,作为switch语句的理想替代品。
$result = match($value) {
1 => "One",
2 => "Two",
default => "Other",
};
4、Nullsafe
运算符:为简化在嵌套对象中对属性和方法的访问,特别是在可能遇到空值(null)的情况下,提供了一种优雅且高效的解决方案。通过使用 Nullsafe
运算符,开发者能够避免繁琐的 null 检查,使代码更加简洁、易读和健壮。
$length = $obj?->getProperty()?->getLength();
5、属性:一种用于向类、方法和函数添加元数据的强大工具,通过它们可以扩展和定制代码的行为和功能。
#[Route("/user/{id}")]
class UserController {
#[HttpGet("/info")]
public function getInfo($id) { }
}
6、构造函数属性提升:一种简洁而高效的语法,用于在类的构造函数中声明和初始化属性。
class Person {
public function __construct(
public string $name,
public int $age
) {}
}
7、弱映射:是一种特殊类型的映射结构,它允许我们使用对象作为键(key)来存储和检索值(value),而不会阻止这些键对象被垃圾收集机制回收。
这意味着,当没有其他引用指向这些键对象时,它们可以被自动清理,从而释放内存空间。这种机制在处理循环引用和内存管理时特别有用,可以避免内存泄漏和不必要的内存占用。
$map = new WeakMap();
$map[$obj] = "value";
8、新的static
返回类型:现在支持作为static
方法的返回类型,它表示该方法将返回一个调用类的实例。
class A {
public static function getInstance(): static {
return new static();
}
}
9、表达式抛出:在表达式中允许抛出异常,这一特性在三元运算符中尤为实用。
result = $value > 0 ? $value : throw new InvalidArgumentException("Invalid value");
10、Stringable
接口:通过实现 Stringable
接口,对象可以定义自己的 toString()
方法,从而将其转换为字符串表示形式。
class MyClass implements Stringable {
public function __toString(): string {
return "MyClass";
}
}
11、get_debug_type()
函数的主要功能是:返回给定变量的类型信息,以字符串的形式呈现,包括对象的具体类名。通过调用此函数,您可以轻松获取并了解变量在程序运行时的精确类型,从而有助于调试和排错。
$type = get_debug_type($var);
12、str_contains()
函数的功能是:在指定的字符串中搜索另一个字符串的存在性,以确定第一个字符串是否包含第二个字符串。如果第一个字符串包含第二个字符串,则该函数返回 True
;否则,返回 False
。这是一个非常实用的字符串操作函数,经常用于文本处理、数据分析和模式匹配等场景。
if (str_contains($haystack, $needle)) {
echo "Found";
}
13、str_starts_with()
和 str_ends_with()
:是两个用于检查字符串是否以特定子字符串开头或结尾的实用函数。这些函数在字符串处理中非常有用,因为它们可以帮助我们快速确定一个字符串是否符合特定的格式或标准。
if (str_starts_with($string, $prefix)) {
echo "Starts with prefix";
}
14、fdiv()
函数:主要功能是执行浮点数除法运算,并返回相应的浮点结果。
该函数接收两个浮点数作为参数,并返回它们的商,以便用户可以在程序中执行精确的数学计算。无论是正数、负数、零还是非数字(NaN)等特殊情况,fdiv()
函数都能准确处理并返回正确的浮点结果。
$result = fdiv(10.0, 3.0);
15、@非异常错误运算符:允许用户抑制非异常性错误,如通知和警告信息,以便更流畅地处理其他重要任务。
$value = @some_function(); // Suppress errors
These features offer improvements in terms of performance, readability, and ease of use in PHP 8.
标签:function,返回,15,函数,value,PHP8,字符串,php,public From: https://www.cnblogs.com/gslsoft/p/18564389