Orici Asked: 2020-02-08 11:09:12 +0800 CST 2020-02-08 11:09:12 +0800 CST 2020-02-08 11:09:12 +0800 CST 为什么在 PHP7 中指定 void 返回类型? 772 我已经在一个新团队工作了几天。查看我的代码,他们表示没有必要将void作为 PHP 方法的返回类型......他们删除了它...... 为什么他们将void返回类型添加到 PHP 语言中?你的职能是什么? php 2 Answers Voted Best Answer Orici 2020-02-08T11:09:12+08:002020-02-08T11:09:12+08:00 void返回类型是在 PHP 7.1 中引入的。 通过表明一个方法或函数的返回类型为void,我们表明它不返回任何东西,是有效的,例如: function noReturn() : void { // code } function noReturn2() : void { // code return ; } 指示void返回类型提高了代码的可读性。我们可以查看方法或函数,无需进入其主体,就可以知道它没有返回某种类型内容的 return 语句。 已编辑。 如果我们的代码编辑器允许我们“折叠代码”,以便快速查看,我们将很快体会到指定返回类型给我们带来的可读性改进,例如,我们可以: class Xxx { function getName() : string {...} function noReturn() : void {...} function noReturn2() : void {...} } 很明显,无需查看方法的实现或使用注释,我们就知道方法是否返回某些内容,以及返回的类型。 咨询的来源: php.net - 使用的伪类型和变量 php.net - 新功能 php.net - 返回值 升级到 PHP7 user75901 2020-02-08T11:17:37+08:002020-02-08T11:17:37+08:00 根据 7.1 版中的 PHP 文档,此功能已被引入。 例 1 function metodo(): void { return "Hola"; } echo metodo(); 它会显示这个错误 致命错误:void 函数不得 在第6行的[...][...]中返回值 因为正如它的名字所表明的,一个方法void正在考虑不返回值 参考http://php.net/manual/es/migration71.new-features.php 由于一个类型的方法void不能返回一个值,那么这个例子可能会给出一个更好的例子来说明它的使用 $value; function metodo($value): void { if($value > 1000){ echo 1; }else{ echo 2; } } echo metodo(200);
void返回类型是在 PHP 7.1 中引入的。
通过表明一个方法或函数的返回类型为void,我们表明它不返回任何东西,是有效的,例如:
指示void返回类型提高了代码的可读性。我们可以查看方法或函数,无需进入其主体,就可以知道它没有返回某种类型内容的 return 语句。
如果我们的代码编辑器允许我们“折叠代码”,以便快速查看,我们将很快体会到指定返回类型给我们带来的可读性改进,例如,我们可以:
很明显,无需查看方法的实现或使用注释,我们就知道方法是否返回某些内容,以及返回的类型。
咨询的来源:
php.net - 使用的伪类型和变量
php.net - 新功能
php.net - 返回值
升级到 PHP7
根据 7.1 版中的 PHP 文档,此功能已被引入。
例 1
它会显示这个错误
因为正如它的名字所表明的,一个方法
void
正在考虑不返回值参考http://php.net/manual/es/migration71.new-features.php
由于一个类型的方法
void
不能返回一个值,那么这个例子可能会给出一个更好的例子来说明它的使用