2023 年您应该了解的 20 个 PHP 功能

PHP 总是在不断发展,了解最新的功能和改进非常重要。本文介绍了 2023 年您应该了解的 20 个 PHP 功能,每个功能都配有方便的代码示例。

2023 年您应该了解的 20 个 PHP 功能

1. str_contains():

检查一个字符串是否包含在另一个字符串中。

$sentence = "The quick brown 🦊 jumps over the lazy .";
$word = "🦊";
if (str_contains($sentence, $word)) {
    echo "The sentence contains the word 🦊.";
}

2. str_starts_with():

检查字符串是否以给定子字符串开头。

$sentence = " Launching into space!";
if (str_starts_with($sentence, "")) {
    echo "The sentence starts with a rocket emoji!";
}

3. str_ends_with():

检查字符串是否以给定子字符串结尾。

$sentence = "It's a beautiful day! ️";
if (str_ends_with($sentence, "️")) {
    echo "The sentence ends with a sun emoji!";
}

4. get_debug_type():

获取变量的类型。

$num = 42;
echo get_debug_type($num); // "integer"

5. 获取资源id():

返回给定资源的唯一标识符。

$file = fopen('test.txt', 'r');
echo get_resource_id($file); // e.g., "7"

6. fdiv():

除法功能,包括支持除以零。

$result = fdiv(10, 0); // INF

7. preg_last_error_msg():

返回最后一个 PCRE 正则表达式执行错误的人类可读消息。

preg_match('/(/', '');
echo preg_last_error_msg(); // "missing )"

8. array_key_first():

获取数组的第一个键。

$array = [''=>'Apple', ''=>'Orange', ''=>'Grape'];
echo array_key_first($array); // ""

9. array_key_last():

获取数组的最后一个键。

$array = [''=>'Apple', ''=>'Orange', ''=>'Grape'];
echo array_key_last($array); // ""

10.ErrorException::getSeverity():

获取错误的严重性。

try {
    trigger_error("Custom error", E_USER_WARNING);
} catch (ErrorException $e) {
    echo $e->getSeverity(); // 512
}

11. Filter Functions:

PHP 8 引入了几个新的filter函数。下面是使用 filter_var 和 FILTER_VALIDATE_BOOL 的示例:

var_dump(filter_var('yes', FILTER_VALIDATE_BOOL)); // bool(true)

12. Weak Map:

一个保存对象引用的新类,它不会阻止这些对象被垃圾收集。

$weakmap = new WeakMap();
$obj = new stdClass();
$weakmap[$obj] = 'Hello, world!';

13. Value Objects:

PHP 8 引入了构造函数属性提升,这是一种用于构造值对象的新语法。

class Money {
    public function __construct(
        public int $amount,
        public string $currency
    ) {}
}


$tenDollars = new Money(10, 'USD');

14. Match Expression:

这是一个类似 switch 的语句。

echo match (1) {
    0 => '',
    1 => '',
    default => '⁉️',
};

15. Nullsafe Operator:

这个新运算符 (?->) 允许在访问属性或方法时进行 null 检查。

class User {
    public function getAddress(): ?Address {
        // returns Address or null
    }
}


$user = new User();
$country = $user?->getAddress()?->country; // no error if getAddress() returns null

16. Named Arguments:

此功能允许您通过指定值名称将值传递给函数。

new Money(amount: 10, currency: 'USD');

17. Attributes:

在其他编程语言中也称为注释。

#[Attribute]
class ExampleAttribute {}


#[ExampleAttribute]
class ExampleClass {}

18. Constructor Property Promotion:

此功能允许将类属性和构造函数组合到单个声明中。

class Money {
    public function __construct(
        public int $amount,
        public string $currency
    ) {}
}

19. Union Types:

此功能允许类型声明可以是多种类型之一。

function print_id(int|string $id): void {
    echo 'ID: ' . $id;
}

20. 及时编译(JIT):

PHP 8 引入了两个 JIT 编译引擎:Tracing JIT 和 Function JIT。

注意:JIT 编译不是一个可以直接用代码片段演示的功能,但它是 PHP 8 中的一项重要改进,可以提供显着的性能改进。

总结

PHP 是一种在不断发展的语言,具有许多令人兴奋的新功能和改进。无论您是经验丰富的 PHP 开发人员还是新手,都值得花时间了解这些新功能并在代码中使用它们。

保持好奇心,不断学习,祝你学习愉快!

文章版权声明

 1 原创文章作者:9568,如若转载,请注明出处: https://www.52hwl.com/31280.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年7月14日 上午12:00
下一篇 2023年7月15日