如何在出现错误的Lumen中显示确切的代码行?

时间:2017-01-02 10:02:02

标签: php laravel lumen

我的测试中出现语法错误。例如:

  /** @test **/
public function show_should_return_a_valid_book()
{
    $this
        ->get('/books/1')
        ->seeStatusCode(200)
        ->seeJson([
            'id' => 1,
            'title' => 'War of the Worlds',
            'description' => 'A science fiction masterpiece about martians invading London',
            'author' => 'H. G. Wells'
        ]);
    $data = json_decode($this->response->getContent(), true);
    $this-> assertArrayHasKey('created_at'), $data);
    $this-> assertArrayHasKey('updated_at'), $data);
}

在这里,我忘记将左括号放在最后两行。

如果我在Laravel中这样做,我会收到消息:

  

C:\ phpcode \的购物车> PHPUnit的   PHP解析错误:语法错误,意外','在C:\ phpcode \ shopcart \ tests \ Test中   第33行的Test.php

     

解析错误:语法错误,意外','在C:\ phpcode \ shopcart \ tests \ TestTest中。   第33行的PHP

这非常好,因为我可以看到错误发生在哪里。

但是当谈到Lumen时,我看到的只有:

  

C:\ phpcode \ lumenbook> PHPUnit的

     

[Symfony的\元器件\调试\异常\ FatalThrowableError]   解析错误:语法错误,意外','

我怎么能在流明中得到更多冗长的东西?

1 个答案:

答案 0 :(得分:0)

我在

中编辑了一行
  

%projname%\交响乐\调试\异常\ FatalErrorException.php

// $message = 'Parse error: '.$e->getMessage();

成了

$message = 'Parse error; ' .$e->getMessage() .' in file ' .$e->getFile() 
.'at line ' .$e->getLine();

不知道它是否是优雅的解决方案,但它现在有效。