我正在使用NetBeans for Mac,我正在Linux中运行CakePHP(虽然我不认为框架与它有任何关系).这不是一个大问题,但令人沮丧.
我想知道为什么我不能简单地这样做:
if($this->Session->read('User.value1') || $this->Session->read('User.value2')){
...
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误信息是:
Error: syntax error, unexpected '$this' (T_VARIABLE)
Run Code Online (Sandbox Code Playgroud)
为什么会出现语法错误?我看不出来.
我可以毫无问题地做到这一点:
if($this->Session->read('value1')){
...
}
Run Code Online (Sandbox Code Playgroud)
我也可以毫无问题地做到这一点(没有空白||):
if($this->Session->read('User.value1')||$this->Session->read('User.value2')){
...
}
Run Code Online (Sandbox Code Playgroud)
但如果我在||操作员周围放置空格,它就会停止工作.或者更确切地说 - 这是最令人困惑的部分 - 当我在操作员周围放置空格时,它有时会停止工作||,有时则不会.
我认为这可能是Netbeans 7.4中的一个错误,但是当我忽略NetBeans的警告并试图运行代码时,PHP给了我同样的错误.
这里发生了什么?
AD7*_*six 15
我正在使用NetBeans for MAC
当它是一个不间断的空间!
目的是:
" || "
207C7C20 (hex)
Run Code Online (Sandbox Code Playgroud)
但是源文件中的实际内容几乎可以肯定:
" || "
207C7CA0 (hex)
Run Code Online (Sandbox Code Playgroud)
(在堆栈溢出时它不会,但我敢打赌它在源文件中).
使用mac的问题是(使用我自己的键盘布局,但我假设它在你的情况下类似):
"|" = alt + 1
" " = alt + space (accidental)
Run Code Online (Sandbox Code Playgroud)
所以打字,使用序列"||",当空格键被按下时,alt键仍然很容易被按下,并且:你会得到意想不到的"wat"语法错误,这些错误在表面上没有任何意义 - 直到你意识到问题是什么
例:
-> cat foo.php
<?php
$foo = "x";
if (true || $foo) {
}
-> php -l foo.php
Parse error: syntax error, unexpected '$foo' (T_VARIABLE) in foo.php on line 4
Errors parsing foo.php
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |