2023 年应该了解的 20 项 PHP 功能,并配代码示例

2023年 7月 11日 71.6k 0

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  "这个句子包含🦊。" ; 
}

2. str_starts_with():

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

$sentence = "🚀 发射到太空!" ; 
if ( str_starts_with ( $sentence , "🚀" )) { 
    echo  "句子以火箭表情符号开头!" ; 
}

3. str_ends_with():

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

$sentence = "这真的是美好的一天!☀️" ; 
if ( str_ends_with ( $sentence , "☀️" )) { 
    echo  "句子以太阳表情符号结尾!" ; 
}

4. get_debug_type():

获取变量的类型。

$num= 42 ; 
echo  get_debug_type ( $num ); // “整数”

5. get_resource_id():

返回给定资源的唯一标识符,或称句柄ID。

$file = fopen ( 'test.txt' , 'r' ); 
echo  get_resource_id ( $file ); // 例如,“7”

6. fdiv():

新的除法函数,包括对除以零的支持。

$result = fdiv ( 10 , 0 );

7. preg_last_error_msg():

返回上次 PCRE 正则表达式执行错误,为人类可读消息。

preg_match ( '/(/' , '' ); 
echo  preg_last_error_msg (); // 返回 “missing )”

8. array_key_first():

获取数组的第一个键(Key)。

$array = [ '🍏' => '苹果' , '🍊' => '橙子' , '🍇' => '葡萄' ]; 
echo  array_key_first ( $array ); // "🍏"

9. array_key_last():

有第一个就有最后一个,array_key_last()为获取数组的最后一个键。

$array = [ '🍏' => '苹果' , '🍊' => '橙子' , '🍇' => '葡萄' ]; 
echo  array_key_last ( $array ); // "🍇"

10. 错误异常::getSeverity():

获取错误的严重性。

try { 
    trigger_error ( "自定义错误" , E_USER_WARNING); 
} catch ( ErrorException  $e ) { 
    echo  $e -> getSeverity (); // 512
 }

11.过滤器函数:

PHP 8 引入了几个新的过滤器函数。下面是一个使用filter_varwith的例子FILTER_VALIDATE_BOOL

var_dump ( filter_var ( 'yes' , FILTER_VALIDATE_BOOL)); // 布尔值(真)

12.Weak Map:

一个包含对象引用的新类,它不会阻止这些对象被垃圾回收。

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

13. 值对象:

PHP 8 引入了 Constructor Property Promotion,一种用于构造值对象的新语法。

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

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

14.匹配表达式:

这是一个类似于Switch的语句。

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

15. Nullsafe 运算符:

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

class User {

public function getAddress(): ?Address {

// returns Address or null

}

}

$user = new User();

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

16.命名参数:

此功能允许开发者通过指定值的名称,将值传递给函数。

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

17.属性:

在其它编程语言中也称为注解。

#[Attribute ]
类 ExampleAttribute  {} 

#[ExampleAttribute ]
类 ExampleClass  {}

18.构造方法推介:

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

class Money {

public function __construct(

public int $amount,

public string $currency

) {}

}

19.联合类型:

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

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

20. 即时编译(JIT):

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

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

总之,PHP 是一种不断发展的语言,具有许多令人兴奋的新特性和改进。

无论你是经验丰富的 PHP 开发人员还是新手,都值得花时间了解这些新功能,并在自己的代码中使用它们。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论