PHP的类型提示备忘录

PHP7发布以来,由于增加了类型提示(类型声明),我开始不清楚它是什么时候添加的,所以我做了笔记。

只需要一种选择,请用中文释义以下内容:“能够在函数参数中进行类型提示的功能。”

我几乎完全按照文件上所写的内容带过来了。

型利用可能になるバージョンクラス/インターフェース名5.0.0self5.0.0array5.1.0callable5.4.0bool7.0.0float7.0.0int7.0.0string7.0.0iterable7.1.0object7.2.0

返回值中可写类型提示(7及以后版本)

自 PHP7 开始,可以在返回值中添加类型提示。基本上和函数的类型提示一样。

function test(): int

另外,从PHP7.1开始也支持void类型。

function test(): void

强制强类型化(从7开始)。

默认情况下,允许松散类型转换,尽可能将其转换为该类型。(仅适用于标量类型)

要实现强类型化,需要写上declare(strict_types=1);。
如果类型不匹配,则抛出TypeError。

我想使用类型提示,但也希望它可以是可空的。

如果PHP版本低于7.1,则在参数的默认值中指定null将起作用(严格来说只是有类似的功能)。

function test(int $number = null)

从PHP7.1开始,在类型之前加上了一个?。此外,这也可以用于指定返回值的类型。

function test(?int $number)

从7.1开始引入的可迭代对象

iterable是从7.1版本开始引入的伪类型。只要是实现了array或者Traversable(可通过foreach循环遍历)的对象,都可以作为可迭代的对象接受。

额外收费

从7.1版本开始,可以为类常量指定访问修饰符。

之前,无法为类常量添加访问修饰符(如public等),但从7.1版本开始,可以实现这一点。

class Sample {
    public const $test;
广告
将在 10 秒后关闭
bannerAds