PHP
·
发表于 5年以前
·
阅读量:8414
前言
PHP7 将类型申明变成了可能,PHP 7 支持的形参类型申明的类型有以下几种
函数形参与返回类型声明demo 如下
/**
* @author 袁超 <yccphp@163.com>
*/
class Demo{
/**
* int $name 则是形参类型声明
* : int 是返回类型声明
*/
public function age(int $age) : int
{
return $age;
}
}
上面我们定义了一个 Demo 类,里面就一个方法,在声明方法时,我们指定了 int $name
要求 函数接收的参数必须是 int 类型的,在参数列表括号后面,我们跟上了 : int ,则是声明了我们这个函数的返回数据类型
$demo = new Demo();
$demo->age(10.23); // 我们传递的是 float 型参数,也能通过检查
在上面例子中,我们传递的是一个 float
类型的参数,但是代码还是能够正常运行起来的
这是因为在 php7 中,默认情况下形参类型说明不是完全被限制的,这就意味着我们定义的东西只是一个建议,而不是完全约束
当然,我们可以完全限制,我们通过设置来实现
declare(strict_type=1);
这个时候,我们运行上面的代码,则会得到一个 Uncaught Type Error
这个改变挺有意义的,这样我们在做一些多人参与的项目的时候,就不会出现参数乱传以及不知道这个函数返回什么东西的问题
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。