2016-07-20 4 views
1

別のLaravel 4から5のインスタンスをアップグレードしています。 Exceptionsに "ExceptionServiceProvider"というファイルがあります。次のコードで:Laravel 5 app :: error

<? 

namespace KeepIt\Exceptions; 

use Illuminate\Support\ServiceProvider; 

class ExceptionServiceProvider extends ServiceProvider 
{ 
    public function register() 
    { 
     \App::error(function(AjaxException $exception) 
     { 
      $response = array(
       'state'  => false, 
       'message' => $exception->getErrorMessage(), 
       'errors' => $exception->getErrors(), 
       'type'  => $exception->getType() 
      ); 

      return \Response::json($response); 
     }); 
    } 
} 

私は知っているApp :: errorはもうL5で動作しませんが、私はこのコードを書き直すことはできません。これは404エラーではありません。

答えて

1

それを手に入れた...私はちょうど新しい例外レンダリング機能がある/ Handler.phpにコードを入れていました。

/** 
* Render an exception into an HTTP response. 
* 
* @param \Illuminate\Http\Request $request 
* @param \Exception $e 
* @return \Illuminate\Http\Response 
*/ 
public function render($request, Exception $e) 
{ 
      if($e instanceof AjaxException){ 
     $response = array(
      'state'  => false, 
      'message' => $e->getErrorMessage(), 
      'errors' => $e->getErrors(), 
      'type'  => $e->getType() 
     ); 
     return \Response::json($response); 
    } 
    return parent::render($request, $e); 
} 
0

これはどうですか?

$status = 500 //Could be whatever you need 
Response::json(['myMsg' => 'FooBar'], $status) 

または

abort(404); 
+0

laravel 5でアプリケーションを実行しないでください。エラー:コードが示すように、アプリケーションが500と応答をスローした場合、私はそれを書き直さなければなりません。 – blubbering