2016-07-20 16 views
1

Ich aktualisiere eine andere Laravel 4 bis 5 Instanz. Es gibt jetzt eine Datei "ExceptionServiceProvider" in den Ausnahmen. Mit folgendem Code:Laravel 5 App :: Fehler

<? 

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); 
     }); 
    } 
} 

Ich weiß App :: Fehler nicht mehr in L5 funktioniert, aber ich verstehe es nicht diesen Code neu zu schreiben. Es ist kein 404, es ist ein 500 Fehler werfen.

Antwort

1

Verstanden ... Ich musste nur den Code an die neuen Ausnahmen setzen/handler.php wo die Render-Funktion ist.

/** 
* 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

Was ist damit?

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

oder

abort(404); 
+0

Nicht bekommen ... in Laravel 5 App :: Fehler funktioniert nicht mehr so ​​muss ich es neu schreiben, wenn die App eine 500 wirft und Antwort mit JSON wie es im Code zeigt. – blubbering