syntax error, unexpected token “(”, expecting identifier or variable or “{” or “$”¶
Description¶
The object operators ->
and ?->
both expect a name as second operand, aka on the right. Here, the name of the method was forgotten and the operator tried to use (
as a name, which is not allowed.
Example¶
<?php
// missing a method name
$object-> ();
// missing a method name
$object?-> (1);
?>
Solutions¶
Add a name after the
->
and?->
, such as$object->method
.Add a name inside a variable after the
->
and?->
, such as$object->$methodName
.Add a name inside an expression after the
->
and?->
, such as$object->{$variable . 'suffix'}()
.Add a name inside an variable variable after the
->
and?->
, such as$object->$$variable()
.