我遇到了一个非常奇怪的问题。我有1个文件,其中某些代码仅在PHP5.5 +中有效,每当我运行jmstranslation bundle命令行来提取消息时,我都会收到错误消息,说明该文件(在该特定行上无法解析)。这很奇怪,因为我确保我机器上的php版本是5.5+(并且所有内容都运行得很好,包括phpunit测试)。
我得到的确切错误是
[RuntimeException]
Could not parse "Processor.php": Unexpected token '=' on line 135
[PHPParser_Error]
Unexpected token '=' on line 135
导致错误的代码:
if (!empty($adjustments = $this->createAdjustments($order)))
{
// the empty check above should work in PHP 5.5+
// ...
}
答案 0 :(得分:0)
为什么要在$adjustments
测试中分配变量(此处if
)?在某些情况下它很有用,但在你的情况下它是一个拼写错误,而不是==
运算符?
您是否尝试过两步执行相同的操作?
$adjustments = $this->createAdjustments($order);
if (!empty($adjustments))
{
// the empty check above should work in PHP 5.5+
// ...
}