2

私は非常に奇妙な問題に直面しています。PHP5.5+でのみ有効な特定のコードを含むファイルが1つあり、jmstranslationバンドルコマンドラインを実行してメッセージを抽出するたびに、そのファイル(その特定の行では解析できない)というエラーが表示されます。私のマシンにある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場合によっては便利ですが、あなたの場合、==演算子ではなくタイプミスですか?

同じ操作を 2 ステップで実行しようとしましたか?

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

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