null合并运算符(PHP7)
我们会经常使用isset和empty检查变量或数组中的某个元素,但很多人却写了很多多余的代码,就像这样:
if (isset($_POST['name']) && !empty($_POST['name']))
$name = $_POST['name']
上面的代码没有什么问题,但是可以简化为下面的样子:
if (!empty($_POST['name']))
$name = $_POST['name']
我们会经常判断null值,一般我们会使用isset和empty,就像上面那样。但我们也有更好、更易读的方法:
$name = $_POST['name'] ?? null
match表达式(PHP8.0)
$class = match ($status) {
'completed' => 'success',
'in_progress' => 'warning',
'failed' => 'danger',
};
在他之前一种典型的用法是这样的:
$class = null;
switch ($status) {
case 'completed':
$class = 'success';
break;
case 'in_progress':
$class = 'warning';
break;
case 'failed':
$class = 'danger';
break;
}
构造器属性提升(PHP8.0)
一个典型的类属性的用法是这样的:
class Customer
{
private string $name;
private string $address;
private string $phone;
public function __construct(string $name, string $address, string $phone)
{
$this->name = $name;
$this->address = $address;
$this->phone = $phone;
}
}
现在可以这样写:
class Customer
{
public function __construct(
private string $name,
private string $address,
private string $phone
) {}
}
原文标题:PHP中3个更好的代码写法
原文地址:https://phpreturn.com/index/a62abd66e4d679.html
原文平台:PHP武器库
版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。