首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >小写保留关键字引发错误。为什么?

小写保留关键字引发错误。为什么?
EN

Stack Overflow用户
提问于 2016-09-14 16:31:06
回答 2查看 69关注 0票数 0

我有这个功能

代码语言:javascript
运行
复制
//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行

错误是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-14 16:37:38

goto是一个保留词。您可以而不是覆盖它,不管您对大写/小写变体做了多少手脚:

代码语言:javascript
运行
复制
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函数。

票数 2
EN

Stack Overflow用户

发布于 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的优点:函数名不区分大小写。

希望它能帮上忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39495502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档