xoxo419
V2EX  ›  PHP

PHP 中对象属性?中表示什么意思 哪个版本开始支持的?

By xoxo419 at 2020 年 12 月 3 日 · 2539 次点击
4 条回复  •  2020-12-03 15:43:36 +08:00
jfcherng
   1
jfcherng  
   2020 年 12 月 3 日   ❤️ 1
php 7.1, 關鍵字 nullable
Still4
   2
Still4  
   2020 年 12 月 3 日   ❤️ 1
我这一般是这么用的

public function initTask($task_info, $task_num, $task_total): ?Thread

public function initTask($task_info, $task_num, $task_total): Thread

当返回结果可能为空的时候用前一个,不这么写返回空会报错
xoxo419
   3
xoxo419  
OP
   2020 年 12 月 3 日
@jfcherng
@Still4

用 PHP7.2 执行报错误

```
There was 1 error:

1) DesignPatterns\Creational\Singleton\Tests\SingletonTest::testUniqueness
ParseError: syntax error, unexpected '?', expecting function (T_FUNCTION) or const (T_CONST)

/var/www/base/test/php/DesignPatterns/Creational/Singleton/Singleton.php:7
/var/www/base/test/php/DesignPatterns/Creational/Singleton/Tests/SingletonTest.php:12

```

用 php7.4 执行 OK
jfcherng
   4
jfcherng  
   2020 年 12 月 3 日
© 2026 V2EX · 27ms · 3.9.8.5