2

我遇到了一个非常奇怪的问题。我有 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+
  // ... 
}
4

1 回答 1

0

为什么要$adjustments在测试中分配一个变量(此处)if?在某些情况下它很有用,但在您的情况下是拼写错误,而不是==operator ?

您是否尝试分两步执行相同的操作?

$adjustments = $this->createAdjustments($order);

if (!empty($adjustments)) 
{ 
  // the empty check above should work in PHP 5.5+
  // ... 
}
于 2013-10-15T16:33:02.563 回答