PHP 8.0:新版本,新时代

2020-11-26 20:46:28

number = $ number; } / ** @return int | float * /公共函数getNumber(){return $ this-> number; }}

number = $ number; } / ** @return int | float * /公共函数getNumber(){return $ this-> number; }} $ number = new Number(); $ number-> setNumber('string'); echo $ number-> getNumber(); //'字符串'

number = $ number; } / ** @return int | float * /公共函数getNumber(){return $ this-> number; }} $ number = new Number(); $ number-> setNumber('string'); // InvalidArgumentException:参数$ number应该为整数或浮点数,给定的字符串

number = $ number; }公共函数getNumber():int | float {return $ this-> number; }}

number = $ number; }公共函数getNumber():int | float {return $ this-> number; }} $ number = new Number(); $ number-> setNumber('string'); // Number :: setNumber():参数#1($ number)必须为int | float类型,字符串为

items [$ index] = $ value; }公共函数getItem(string $ index):array | bool | callable | int | float | null | object | string {return $ this-> items [$ index]; }}

items [$ index] = $ value; }公共功能getItem(string $ index):混合{return $ this-> items [$ index]; }}

'Foo',1 =>'Bar',2 =>'Baz',}; //巴兹

'Foo',1 =>'Bar',2 =>'Baz',}; // UnhandledMatchError:int类型的未处理匹配值

getNeighborhood(); //返回NULL或邻域对象$ neighborhoodName = $ neighborhood吗? $ neighborhood-> getName():null; if($ neighborhoodName!== null){//使用$ neighborhoodName}

is_int($ item)); var_dump ($ integers); // [1,2]

'PHP',3 =>'PHP',4 =>'PHP']

'PHP',3 =>'PHP',4 =>'PHP']

setName( “加布里埃尔·卡鲁索”); // fullName或name?

setName( fullName:'Gabriel Caruso'); //命名参数允许重命名

抛出新的Exception(); //在PHP 8.0 $ value = $ nullableValue之前这是不可能的?抛出新的InvalidArgumentException(); //`throw`现在被认为是一个表达式

login($ user);} catch(PermissionException){//不再需要$ exception变量抛出AuthenticationException :: failedLogin();}

getParameters()as $ parameter){echo sprintf('Parameter $%s,type%s',$ parameter-> getName(),$ parameter-> getType()??'* NO TYPE DEFINED *')。 PHP_EOL; } echo'array_filter返回类型:'。 $ reflectionFunction-> getReturnType()?? '*未定义类型*';

getParameters()as $ parameter){echo sprintf('Parameter $%s,type%s',$ parameter-> getName(),$ parameter-> getType()??'* NO TYPE DEFINED *')。 PHP_EOL; } echo'array_filter返回类型:'。 $ reflectionFunction-> getReturnType()?? '* NO TYPE DEFINED *'; //在PHP 8.0之前//参数$ arg,类型* NO TYPE DEFINED * //参数$ callback,类型* NO TYPE DEFINED * //参数$ use_keys,类型* NO TYPE ** / / array_filter返回类型:* NO TYPE DEFINED *

getParameters()as $ parameter){echo sprintf('Parameter $%s,type%s',$ parameter-> getName(),$ parameter-> getType()??'* NO TYPE DEFINED *')。 PHP_EOL; } echo'array_filter返回类型:'。 $ reflectionFunction-> getReturnType()?? '* NO TYPE DEFINED *'; //在PHP 8.0之后//参数$ array,类型array //参数$ callback,类型?callable //参数$ use_keys,类型int // array_filter返回类型:array

-`assert.exception`默认值为`true`,抛出一个异常而不是仅仅发出警告

-负责照顾和协调从Alpha 1到G.A的所有发布

-(不是官方的,但是)发布管理器是在会议,聚会和WWW上传播新版本的工具

您可以查看本演讲的所有参考资料,包括博客文章,youtube视频等。