我有以下代码:
class PairGalleryController extends Controller
{
/**
* @Route("/PairGalleryIndex")
*/
public function IndexAction()?
{
$output = "";
}
}
...然而我在IDE中看到一个错误,说该方法“应该具有正文或者是抽象的”。
我确信我忽略了一个简单的解决方案。我错过了什么导致了这个问题?
====
编辑:有趣的是,当我在StackOverflow编辑表单上缩进代码时,此代码拒绝在预览中将其格式化为代码。所以也许有一个隐形字符会以某种方式导致解析问题。无论如何,这是我的猜测。我很乐意听到别人的想法。
答案 0 :(得分:3)
我从你的问题中复制的代码确实包含不可见的字符:
<u+2028>
,unicode character&#39; LINE SEPARATOR&#39;:
class PairGalleryController extends Controller
{
/**
* @Route("/PairGalleryIndex")
*/
public function IndexAction()<u+2028>
{
$output = "";<u+2028>
}
}
尝试删除这些字符。
因为我们发现这个问题是&#39;行分隔符范围内的隐形字符。或者&#39;零宽度空间&#39;,你可以在这里找到显示空格的可能性:
Settings -> Editor -> General -> Appearance -> Show whitespaces
[source] View -> Show Invisible Characters
"draw_white_space": "all"
[source] 注: 请随时更新并扩展此列表
答案 1 :(得分:0)
更改&#34;语言&#34;到PHP 7.1。您的版本设置得太低了。可以为空的IndexAction()?
是一个从PHP 7.1开始的功能。