Heim  >  Artikel  >  PHP-Framework  >  Die Analyse von thinkphp5 zeigt ein Render-Inkompatibilitätsproblem

Die Analyse von thinkphp5 zeigt ein Render-Inkompatibilitätsproblem

藏色散人
藏色散人nach vorne
2021-11-29 15:19:492214Durchsuche

Die folgende thinkphpFramework-Tutorial-Kolumne stellt Ihnen das Render-Inkompatibilitätsproblem der benutzerdefinierten globalen Ausnahmebehandlungsaufforderungen von TP5 vor. Ich hoffe, dass es für Freunde in Not hilfreich sein wird!

TP5 benutzerdefinierte globale Ausnahmebehandlung, alle ausgelösten Ausnahmen werden über die benutzerdefinierte Rendermethode gerendert und dann zur Anzeige an den Client zurückgegeben.
Sie müssen die Rendermethode des Handles anpassen und überschreiben:

namespace app\lib\exception;  
  
use think\Exception;  
use think\exception\Handle;
class ExceptionHandler extends Handle  
{  
  public function render(Exception $e)  
    {  
        //TODO:
        return json('invalid request')
    }  
}

Danach erscheint die Postman-Verifizierungsschnittstelle und die folgende Fehlermeldung weist darauf hin, dass es nicht kompatibel ist:
Die Analyse von thinkphp5 zeigt ein Render-Inkompatibilitätsproblem

Auf die ursprüngliche Handle.php-Datei zurückgeführt,
Die Analyse von thinkphp5 zeigt ein Render-Inkompatibilitätsproblem

Überprüfen Sie die Verwendung und finden Sie die verwendete Quelldatei Exception,而我用的thinkException:
Die Analyse von thinkphp5 zeigt ein Render-Inkompatibilitätsproblem

Ändern Sie den Code:

namespace app\lib\exception;  
  
use Exception;  
use think\exception\Handle;
class ExceptionHandler extends Handle  
{  
  public function render(Exception $e)  
    { 
        //TODO:
        return json('invalid request')
    }  
}

Das Ergebnis ist korrekt:
Die Analyse von thinkphp5 zeigt ein Render-Inkompatibilitätsproblem

Das obige ist der detaillierte Inhalt vonDie Analyse von thinkphp5 zeigt ein Render-Inkompatibilitätsproblem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen