我有这个功能
//admin
$router->route['/admin']->route['default'] = function() { //line 51
if (isLoggedIn()) //line 52
goTo('CMS'); //line 53 <---
else //and so on
goTo('login');
};
但是我有一个分析错误:语法错误,意外的'(',期望T_STRING在/path/index.php第53行
错误是什么?
发布于 2016-09-14 16:37:38
goto
是一个保留词。您可以而不是覆盖它,不管您对大写/小写变体做了多少手脚:
php > function goto() { echo 'foo'; }
PHP Parse error: syntax error, unexpected 'goto' (T_GOTO), expecting '(' in php shell code on line 1
php > function goTo() { echo 'foo'; }
PHP Parse error: syntax error, unexpected 'goTo' (T_GOTO), expecting '(' in php shell code on line 1
php > function GOTO() { echo 'foo'; }
PHP Parse error: syntax error, unexpected 'GOTO' (T_GOTO), expecting '(' in php shell code on line 1
首先,您不应该能够定义您的goTo
函数。
发布于 2016-09-14 16:42:20
您需要重命名goTo()
*,例如改为forwardTo()
,因为goto
是由PHP:http://php.net/goto保留的。
奇怪的是,PHP并没有对此提出警告。
此外,我建议遵循PSR编码标准:http://www.php-fig.org/psr/psr-2/
*@peter-featherstone的优点:函数名不区分大小写。
希望它能帮上忙
https://stackoverflow.com/questions/39495502
复制相似问题