首页 » 网站建设 » sex8php技巧_PHP80的新特点

sex8php技巧_PHP80的新特点

访客 2024-12-06 0

扫一扫用手机浏览

文章目录 [+]

一、JIT

JIT的新特性,则是将PHP代码转化为传统的机器码,而并非通过zend虚拟机来运行,这大大增加了运行速率。
但是缺陷是向下不兼容。

sex8php技巧_PHP80的新特点

# JIT 可以通过php.ini中设置opcache.jit = on // on 开; off 关

sex8php技巧_PHP80的新特点
(图片来自网络侵删)

JIT详细的内容可以去看下鸟哥的PHP 8新特性之JIT简介

二、表明

PHP8之前PHP实现表明可以通过php-parser来实现,但现在可以直接通过Reflection 来获取。

/ @param Foo $argument @see https:/xxxxxxxx/xxxx/xxx.html/ function dummy($Foo) {}# 现在获取这段表明则可以利用$ref = new ReflectionFunction("dummy");var_dump($ref->getAttributes("See")[0]->getName());var_dump($ref->getAttributes("See")[0]->getArguments());

三、类中的成员变量

在PHP8之前,我们一样平常会这样定义一个类,首先要设置成员变量,然后在布局或者某一个方法为它赋值。

class User{ public $username; public $phone; public $sex; public function __contruct( $username,$phone,$sex ){ $this->username = $username; $this->phone = $phone; $this->sex = $sex; }}

但是 PHP8上我们可以这样写

class User{ public function __contruct( public string $username = "zhangsan", public string $phone = "110110"; public string $sex = "男" ){}}

四、命名参数

创建函数:

function roule($name,$controller,$model){ // ... code}

在调用这个函数时,我们须要顺序输入参数

roule("user/login","UserController","login");

在PHP8中可以这样

roule(name:"user/login",controller:"UserController",model:"login");

由于可以须要输入参数名来区分传入的字段,那么在一些函数中,类比中间某项这段须要默认值,那我们就可以跳过这个字段

unction roule($name,$controller="UserController",$model){ // ... code}roule(name:"user/login",model:"login");

当然也可以与传统办法相结合

roule("user/login",model:"login");

五、联合类型

在PHP7中,我们在逼迫函数返回类型时是这样做的

function create() : bool

那么在PHP8中你可以利用多种预测类型

function create() : bool|string

当然在传参时也可以这样做

function create(bool|string $userId)

更多内容请关注公众年夜众号暮雪江天

标签:

相关文章