PHP 8 中引入了一些新的变量特性,包括:
1. 类型声明的属性,可以在定义类的属性时指定属性的类型
▥php
𝄐 0
php变量名的命名规则,php变量命名规则,php变量名区分大小写吗,PHP变量只能是字符串数据类型,php 变量类型,php 变量作用域
PHP 8 中引入了一些新的变量特性,包括:
1. 类型声明的属性,可以在定义类的属性时指定属性的类型。
2. 更严格的类型检查,当使用未初始化的变量或将值分配给错误类型的变量时会抛出异常。
3. 更好的 null 安全支持,可以使用 ? 运算符来表示一个变量可以是 null。
4. 允许使用 ::class 获取类名。
下面是一些例子:
1. 类型声明的属性
定义一个 Person 类,其中包含一个 string 类型的 $name 属性和一个 int 类型的 $age 属性:
class Person {
public string $name;
public int $age;
public function __construct(string $name, int $age) {
$this->name = $name;
$this->age = $age;
}
}
2. 更严格的类型检查
// 抛出 TypeError 异常
$var = "hello";
$var = 123;
// 抛出 ValueError 异常
function test(int $arg) {
echo $arg;
}
test("hello");
3. 更好的 null 安全支持
// 可以是一个字符串,也可以是 null
$name = "John";
$name = null;
// 使用 ? 运算符表示这个变量可以为 null
function test(?string $str) {
if ($str !== null) {
echo strlen($str);
} else {
echo "null";
}
}
test(null); // 输出 "null"
test("hello"); // 输出 5
4. 使用 ::class 获取类名
class MyClass {}
echo MyClass::class; // 输出 "MyClass"
PHP 8 中引入了一些新的变量特性,包括:
1. 类型声明的属性,可以在定义类的属性时指定属性的类型。
2. 更严格的类型检查,当使用未初始化的变量或将值分配给错误类型的变量时会抛出异常。
3. 更好的 null 安全支持,可以使用 ? 运算符来表示一个变量可以是 null。
4. 允许使用 ::class 获取类名。
下面是一些例子:
1. 类型声明的属性
定义一个 Person 类,其中包含一个 string 类型的 $name 属性和一个 int 类型的 $age 属性:
class Person {
public string $name;
public int $age;
public function __construct(string $name, int $age) {
$this->name = $name;
$this->age = $age;
}
}
2. 更严格的类型检查
// 抛出 TypeError 异常
$var = "hello";
$var = 123;
// 抛出 ValueError 异常
function test(int $arg) {
echo $arg;
}
test("hello");
3. 更好的 null 安全支持
// 可以是一个字符串,也可以是 null
$name = "John";
$name = null;
// 使用 ? 运算符表示这个变量可以为 null
function test(?string $str) {
if ($str !== null) {
echo strlen($str);
} else {
echo "null";
}
}
test(null); // 输出 "null"
test("hello"); // 输出 5
4. 使用 ::class 获取类名
class MyClass {}
echo MyClass::class; // 输出 "MyClass"
本文地址:
/show-271404.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。