【发布时间】:2016-05-30 09:58:17
【问题描述】:
我知道 PHP 是一种非常容错的语言,我想这就是为什么你可以使用 mixed variables 来进行函数调用,例如:
/**
* @param mixed $bar
**/
function foo($bar) {
// Do something with $bar, but check it's type!
}
有没有推荐的方式不使用这种混合变量?
对于我自己的项目,我尽量避免这种混合变量,只是为了以后出现错误的问题更少,代码清晰。
在 PHP 7 中,应该可以声明这个函数期望的变量类型,不是吗?这是怎么做到的?
【问题讨论】:
-
我们可以给函数 foo (array $bar) { //$bar 应该是数组} 添加类型
-
@vijaykumar 但这仅适用于 PHP 7,对吗?
-
类型检查很不错,原因有很多,尽可能使用解释器(而不是手动)进行检查总是最好的。但是总会有这样的情况,混合变量的代码比强类型的代码更干净。
-
不,它适用于 5.3 +
标签: php php-7 code-structure code-standards