PHP中的类型声明
PHP7以后的版式声明更加丰富,尤其在7.4版本中显著改进,增加了许多类型声明的机会,现将其总结如下。
1.函数参数的类型(类型提示)
// int型のみ
function hoge(int $num)
{
echo $num;
}
// デフォルト値
function hoge(int $num = 0)
{
echo $num;
}
// null許容型
function hoge(?int $num)// int $num = nullも可
{
echo $num;
}
// オブジェクト(ex.Laravel)
function hoge(Request $request)
{
echo $request->hoge;
}
返回值
// int型のみ
function hoge(int $num): int
{
return $num;
}
// null許容
function hoge(?int $num): ?int
{
return $num;
}
// オブジェクト(ex.Laravel)
function hoge(Request $request): Request
{
return $request;
}
// void(returnしないメソッド)
function hoge(Request $request): void
{
echo $request->hoge;
}
属性(类变量)
class User
{
// intのみ
protected int $age;
// デフォルト
protected string $name = 'hoge';
// null許容
protected ?string $address;
// オブジェクト
protected Request $request;
}
虽然已经使用了7.4版本,但仍然有许多地方甚至连类型提示也没有,所以希望能积极使用它。