syntax error, unexpected token “::”, expecting “:”¶
Description¶
In this example, Match is a PHP keyword, and cannot be part of a static call, with the operator ::. On the other hand, Match could be a parameter name, where the foo function, has a $Match parameter. Hence, the suggestion to use : a single colon.
This error may also appear with other keywords, such as Switch. It is also case-insensitive.
Example¶
<?php
foo(Match::a());
?>
Solutions¶
Use a single colon, if
$Matchis actually a parameter name.Rename the
Matchclass to avoid conflicts with PHP keywords.