我正在使用 PHP 7 测试返回类型。
我创建了一个简单的脚本来测试 PHP 7 的返回类型:
<?php
Class Obj {
public function __construct(){
}
public function test(): string { //a string needs to be returned
return "ok";
}
}
function foo(): Obj { //instance of Obj needs to be returned
return new Obj();
}
$o = foo();
echo $o->test(); // output: ok
现在在其他编程语言中,当您指定返回类型时void
这意味着您不能返回任何内容,否则您将收到错误。所以我写了这个脚本:
<?php
function foo(): void {
}
foo();
现在,在上面的脚本中,预期的输出什么也没有。
相反,它给了我一个致命错误:
致命错误: foo() 的返回值必须是 void 的实例,第 2 行没有返回
我的问题是(我找不到),在 PHP 7 中会有类似的吗void
type?
Edit:
一个新的单独的 RFC返回类型为空 https://wiki.php.net/rfc/void_return_type已发布,已通过投票,并在 PHP 7.1 中实现。
现在有一个void
PHP 中的返回类型。 :)
原帖:
取自维基百科.php.net https://wiki.php.net/rfc/return_types:
未来的工作
超出本 RFC 范围的未来工作想法包括:
- 允许函数声明它们根本不返回任何内容(Java 和 C 中为 void)
所以目前没有办法声明你不退回任何东西。
我不知道在你的情况下什么是最好的,但我可能只是暂时不声明返回类型。
回答你的问题是否会有void
PHP 7 中的返回类型:
没有保证还没有,但我认为很有可能void
或者同义词将以某种方式实现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)