易中彩票哪里下_PHP 7.4.0 发布

oschina
 oschina
发布于 2019年11月30日
收藏 15

本周日,来 贵州11选5开奖_贵州11选5开奖结果走势_花少钱中大奖-SC·年终盛典收割技术干货,get新技能!!>>>

易中彩票哪里下_PHP 7.4.0 发布了,此版本标志着 PHP 7 系列的第四次特性更新。

易中彩票哪里下_PHP 7.4.0 进行了许多改进,并带来了一些新特性,包括:

Typed Properties  类型属性

类属性现在支持类型声明,以下示例将强制 $User-> id 只能分配 int 值,而 $User-> name 只能分配 string 值。

<?php
class User {
    public int $id;
    public string $name;
}
?>

Arrow Functions  箭头函数

易中彩票哪里下箭头函数提供了用于定义具有隐式按值作用域绑定的函数的简写语法。

<?php
$factor = 10;
$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
// $nums = array(10, 20, 30, 40);
?>

将闭包传递给 array_map 或 array_filter 等函数时,它可以发挥极大的作用。

// A collection of Post objects $posts = [/* … */];

$ids = array_map(fn($post) => $post->id, $posts);

Limited Return Type Covariance and Argument Type Contravariance  有限返回类型协变与参数类型逆变

仅当使用自动加载时,才提供完全协变/逆变支持。在单个文件中,只能使用非循环类型引用,因为所有类在被引用之前都必须可用。

<?php
class A {}
class B extends A {}

class Producer {
    public function method(): A {}
}
class ChildProducer extends Producer {
    public function method(): B {}
}
?>

Unpacking Inside Arrays  打包内部数组

<?php
$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];
?>

Numeric Literal Separator  数值文字分隔符

数字文字可以在数字之间包含下划线。

<?php
6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary
?>

Weak References  弱引用

易中彩票哪里下弱引用使程序员可以保留对对象的引用,不会阻止对象被销毁。

Allow Exceptions from __toString()  允许从 __toString() 抛出异常

现在允许从 __toString() 引发异常,以往这会导致致命错误,字符串转换中现有的可恢复致命错误已转换为 Error 异常。

贵州11选5开奖_贵州11选5开奖结果走势_花少钱中大奖-pcache Preloading  贵州11选5开奖_贵州11选5开奖结果走势_花少钱中大奖-pcache 预加载

新增 贵州11选5开奖_贵州11选5开奖结果走势_花少钱中大奖-pcache 预加载支持。

此外还有一些弃用,以及从核心中删除一些扩展,详情查看:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 贵州11选5开奖_贵州11选5开奖结果走势_花少钱中大奖-SCHINA 社区 [http://shmj56.com]
本文标题:易中彩票哪里下_PHP 7.4.0 发布
加载中

精彩评论

eechen
eechen
个人比较关注的是opcache.preload和FFI这两个特性.
opcache.preload可以理解为一种实现PHP函数和类在FastCGI下内存常驻的机制.
opcache.preload可以实现PHP类和函数的内存常驻,避免每次请求都定义一次类和函数,从而提升网站性能.
在ZendFramework框架的测试中,开启预加载(opcache.preload)后性能提升30%到50%,框架越庞大,提升越明显.
不启用opcache.preload时,opcache需要额外做的工作:
1.需要检查源文件是否被修改(当然也可以设置为不检查).
2.需要将类和函数的某些部分从共享内存缓存复制到进程内存.
3.每个请求都需要重新链接类的依赖项.

而FFI则可以让PHP开发者在PHP代码中调用二进制C库的函数.
比如PHP通过FFI调用Redis官方客户端C库hiredis里的函数:
http://shmj56.com/news/110972/ffi-extension-usage-with-php-7-4
php74 -d ffi.preload=preload-redis.h -d opcache.preload=preload-redis.inc redis.php
甚至还有开发者通过FFI特性调用libUI库用PHP进行跨平台的桌面应用开发:
http://github.com/chopins/php-libui
<?php
include '/src/UI.php';
$ui = new UI('/usr/lib64/libui.so');
$ui->init();
$mainwin = $ui->newWindow("libui Control Gallery", 640, 480, 1);
$ui->controlShow($mainwin);
$ui->main();
这波天秀
这波天秀
opcache是鸟哥写的,这个预加载估计也是鸟哥写的吧,鸟哥真是中国程序员的唯一门面了
河边钓鱼的猫
php也可以强类型了,你们还要BB吗?
PHP is the best programing language in the world.
开源中国首席罗纳尔多
开源中国首席罗纳尔多
您好,请问PHP做web和java比谁快?
志田未来
志田未来
赶紧支持协程吧

最新评论(67

飞酒
飞酒
什么时候去掉$,->改为.
飞酒
飞酒
=>改为:
一码千里
搞那么多胡里花哨的东西
Keygen
Keygen
哪里胡里花哨了,强类型是胡里花哨?还是喷子胡里花哨?
小翔
小翔
吸收了java和python
j
jsperorg
越来越像java,我为什么还用你?当初选php是因为简单,写的程序随便一个新手程序员都能轻易上手改代码,现在搞得这么复杂,必须的花高价请高手程序员才能维护代码。php为什么不能走自己简单的道路,要去学这个学那个,论性能不如java,论生态不如.NET,论简单不如python,却要把这些语言的高深之处都学到,不伦不类,没有自己的特点,败笔。
这波天秀
这波天秀
你从哪只眼睛看像java?面向对象不是都这样吗?弱智喷
p
phper08
易中彩票哪里下哪里复杂了?明明都很简单。
猫之良品up
愤青乱喷了,明明越来越面向对象说成是复杂,而且支持新写法并没有抛弃旧写法,必须高手才能写了吗?学PHP不是为了让你不上进混日子的。
Keygen
Keygen
弱类型你也喷,现在变强类型了你还是喷,性能差你也喷,现在提高性能了你还是喷。易中彩票哪里下键盘给你你来。
KeepMoving
KeepMoving
往强类型语言方向靠拢了,很多性能方面改善也挺好的,面向对象方面越来越像java
开普勒452b
开普勒452b
英雄所见略同
PHP架构师
PHP架构师
加油
梦想岛
梦想岛
感觉我们在落后,这版本变太快了
p
phper08
箭头函数好,不用再use变量了
缺Q德
缺Q德
越来越不PHP了 如果能在多线程那些方面支持~~~
Tinywan
Tinywan
😄
返回顶部
顶部