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

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 开发人员还是新手,都值得花时间了解这些新功能并在代码中使用它们。

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

网站标题:2023 年您应该了解的 20 个 PHP 功能
文章出自:http://www.mswzjz.cn/qtweb/news42/56342.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能