在声明函数时,我要检查变量为null还是null
对于这段代码,我遇到了问题:
private function addDepartementField(FormInterface $form, ?Region $region) { .... }问题是:
解析错误:语法错误,意外的“?”,期望变量(T_VARIABLE)
如何使用?在php 5中,我使用php 5.6
先谢
发布于 2017-05-16 08:51:38
在PHP5.6中不可能。这是PHP7.1中的一个新特性。这就是为什么你会犯这个错误。
现在可以将参数和返回值的类型声明标记为空,方法是在类型名称前加上问号。这意味着除了指定的类型之外,NULL可以作为参数传递,也可以作为值返回。http://php.net/manual/en/migration71.new-features.php
更新
唯一的方法是删除?,将$region默认值设置为null (Region $region = null)或升级到PHP7.*。如果删除?,则必须传递一个Region实例。在我看来,这是一个更好的选择:避免空 (What is the best alternative to null in object oriented programming?)。
https://stackoverflow.com/questions/43996590
复制相似问题