php7 什么意思,php7新特性

1、trait

将类作为代码块引入EasySwoole\Core\AbstractInterface\Singleton.php文件

namespace EasySwoole\Core\AbstractInterface;

trait Singleton

{

private static $instance;

static function getInstance(...$args)

{

if(!isset(self::$instance)){

self::$instance = new static(...$args);

}

return self::$instance;

}

}

在需要用到的地方

引入use EasySwoole\Core\AbstractInterface\Singleton;

使用class Di

{

use Singleton;

private $container = array();

}

2、获取类名(包括命名空间)

use \App\Lib\RedisClient;

var_dump(RedisClient::class);// App\Lib\RedisClient

当需要传递类名用在其他地方实例化时,可以这样:

例如:Di::getInstance()->set('REDIS', RedisClient::class, \Yaconf::get('redis'));

3、三元运算符和isset()的简化

$id ?? '1' 等价于 $id ? $id : 1;

isset($_GET['id']) ? $_GET['id'] : 'err'; 等价于 $_GET['id'] ?? 'err';

4、限制函数的返回类型function test()?: array         //限制返回值类型为null或数组

{

}

function test(): array        //限制返回值类型为数组

{

}

5、匿名类new class implements Logger

6、函数参数类型的限制string, int, bool, float, array, classname,

function (string $name,int $id){   //name必须是字符串 id必须是int

}

7、批量引入命名空间use some\namespace\{ClassA, ClassB, ClassC as C};

8、三点号语法//从第二个参数开始,后面的参数将被注入到一个数组中

function test($param1, ...$args){

var_dump($args);

}

test(1, 2, 3, 4);

9、php反射类\ReflectionClass

\ReflectionMethod

本文为够意思原创文章,转载无需和我联系,但请注明来自够意思博客blog.go1s.cn:够意思博客 » php7新特性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值