欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
此版本的IDM不支持该类下载,请尝试将IDM更新至最新版本 PHP处理常见的加解密算法
未知  为什么 CodeIgniter4从4.20开始至少使用 PHP 7.4
[ 发布日期:11个月前 (12-28) ]   [ 来自:本站原创 ] [分类:其它运维与编程]
主要是利用了一些新的语法特性。
如,类成员变量可以定义类型。新的闭包处理函数。
null合并赋值运算符:$data['date'] ??= new DateTime();


PHP7.4新特性


1.类型属性
类属性现在支持类型声明。
[复制到剪贴板]


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


上面的示例将强制执行$user->id只能赋给整数值,而$user->name只能赋给字符串值。


2.箭头函数
箭头函数为使用隐式按值范围绑定定义函数提供了一种简写语法。
[复制到剪贴板]


<?php
$factor 
10;
$nums array_map(fn($n) => $n $factor, [1234]);
// $nums = array(10, 20, 30, 40);
?> 




3.限制返回类型和参数型逆变
[复制到剪贴板]


<?php
class {}
class 
extends {}
 
class 
Producer {
    public function 
method(): {}
}
class 
ChildProducer extends Producer {
    public function 
method(): {}
}
?> 


只有在使用自动加载时,才可以使用全方差支持。在单个文件中,只有非循环类型引用是可能的,因为所有类在被引用之前都必须是可用的。


4.Null 合并赋值运算符
<?php
$array['key'] ??= computeDefault();
// is roughly equivalent to
if (!isset($array['key'])) {
    $array['key'] = computeDefault();
}
?>


5.合并数组新方式
<?php
$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];
?>


6.数值文字分隔符
<?php
6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary
?>


7.数组解包
使用展开运算符... 解包数组。这个特性,应该又是从 js 那吸收过来的。看例子
[复制到剪贴板]

$parts = ['apple''pear'];
$fruits = ['banana''orange', ...$parts'watermelon'];
//['banana', 'orange', 'apple', 'pear', 'watermelon'];
//老的写法$fruits = array_merge(['banana', 'orange'],$parts,['watermelon']); 





 8.strip_tags 接受数组
strip_tags($string, '<a><p>')
PHP 7.4还允许使用数组:

strip_tags($string, ['a', 'p'])


9.弱引用
弱引用允许程序员保留对对象的引用,而不阻止对象被销毁。
引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/325
复制引用地址https://www.rickw.cn/trackback/325/GBK
[ 分类:其它运维与编程  | 查看:1274 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5