免费php棋牌源码下载,php8.0的新特性:类型系统的改进

1 新的Mixed伪类型

一.mixed定义

#mixed是PHP8中添加的伪类型,用于声明参数的类型、返回值、属性可以是任何类型。mixed包含了null类型、类对象、callable和resource类型.

function show(mixed $name){ var_dump($name);}show(true);

二.mixed与联合类型

#mixed等效于所有类型的联合类型

string|int|float|bool|null|array|object|callable|resource

三.禁止强类型转换

$foo = (mixed) $bar;$name='user1';echo (mixed)$name;

四.禁止与强他类型一起组合联合类型

string|int|mixedfunction show(mixed|null $name){ var_dump($name);}show(true);

五.默认类型

1.当函数参数或类属性未声明显式类型时,现在假定该类型为mixed

2.对于返回类型,缺少显式返回类型等于mixed|void,但不能人工设置mixed|void,因为mixed不能联合其他类型.

#PHP支持void伪返回类型,以指示该函数将不返回任何内容。这相当于缺少没有设置显式值得return语句.

#mxied返回类型

function show($name):mixed{ var_dump($name); return 1;}echo show(true);

#void返回类型

function show($name):void{ var_dump($name);}show(true);

六.禁止使用可空mixed类型

?mixed

function show(?mixed $name){ var_dump($name);}show(true);

00fc09464182eb2a87e39f3bd7c54f72.png 2 Static类方法的返回类型

一.static类型作用

PHP 8.0允许static作为类方法的返回类型.

二.static语法

class Foo { public static function getInstance(): static { return new static(); }}

三.仅返回类型

static返回类型仅允许作为返回类型。不允许将其作为属性类型或参数类型.

四.不允许在类外使用

只有类方法可以声明static返回类型。标准函数或闭包不允许声明static返回类型.

五.实用代码实例

1.对象链设计

class Person{ public function say(){ return $this; } public function show(){ return $this; } public function look(){ echo 'say->show->look->echo'; }}$obj=new Person;$obj->say()->show()->look();

2.类链设计

class Person{ public static function say():static{ return new static(); } public static function show():static{ return new static(); } public static function look(){ echo 'Person::say()::show()::look() echo'; }}Person::say()::show()::look();

3.类输出静态方法中的类常量

class Person{ const HOST='localhost'; public static function say(){ return self::HOST; }}echo Person::say();

a813338c86bd0d05ca4148dcf3ea248c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值