低级保留关键字会引发错误。为什么?

时间:2016-09-14 16:31:07

标签: php parse-error

我有这个功能

module: {
    loaders: [
         {
            test: /\.ts$/,
            loaders: ['ts', 'angular2-template-loader']
        }
    ]
},
plugins: {
    new webpack.LoaderOptionsPlugin({
        minimize: true,
        debug: false
    }),
    new webpack.optimize.UglifyJsPlugin({
        beautify: false,
        compress: { screw_ie8: true },
        comments: false,
        screw_ie8: true,
        sourceMap: true
    })
}

但我有一个Parse错误:语法错误,意外'(',在第53行的/path/index.php中期待T_STRING左是什么错误?

2 个答案:

答案 0 :(得分:2)

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功能。

答案 1 :(得分:0)

您需要重命名goTo() *,例如进入forwardTo(),因为goto由PHP保留:http://php.net/goto

很奇怪,PHP并没有警告你。

此外,我建议遵循PSR编码标准: http://www.php-fig.org/psr/psr-2/

*来自@ peter-featherstone的好点:函数名称不区分大小写。

希望有所帮助