小写的保留关键字会引发错误。为什么?
lower-cased reserved keyword throws an error. Why?
我有这个功能
//admin
$router->route['/admin']->route['default'] = function() { //line 51
if (isLoggedIn()) //line 52
goTo('CMS'); //line 53 <---
else //and so on
goTo('login');
};
但是我有一个解析错误:语法错误,意外的'(',在第 53 行 /path/index.php 中期待 T_STRING
什么是错误?
goto
是保留字。您可以 NOT 覆盖它,无论您 fiddle 有多少 upper-/lower-case 变化:
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
函数。
您需要重命名 goTo()
*,例如进入 forwardTo()
,因为 goto
被 PHP 保留:http://php.net/goto
奇怪,PHP 并没有就此警告您。
此外,我建议遵循 PSR 编码标准:
http://www.php-fig.org/psr/psr-2/
*@peter-featherstone 的要点:函数名称不区分大小写。
希望对您有所帮助
我有这个功能
//admin
$router->route['/admin']->route['default'] = function() { //line 51
if (isLoggedIn()) //line 52
goTo('CMS'); //line 53 <---
else //and so on
goTo('login');
};
但是我有一个解析错误:语法错误,意外的'(',在第 53 行 /path/index.php 中期待 T_STRING
什么是错误?
goto
是保留字。您可以 NOT 覆盖它,无论您 fiddle 有多少 upper-/lower-case 变化:
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
函数。
您需要重命名 goTo()
*,例如进入 forwardTo()
,因为 goto
被 PHP 保留:http://php.net/goto
奇怪,PHP 并没有就此警告您。
此外,我建议遵循 PSR 编码标准: http://www.php-fig.org/psr/psr-2/
*@peter-featherstone 的要点:函数名称不区分大小写。
希望对您有所帮助