2015-05-26 3 views
5

In meinem Controller-Aktion von Yii2 Anwendung nehme die folgenden:Yii2 erzwingen 404 oder 500 Fehler

public function actionView($i) 
{ 
    if ($i < 20) 
    { 
    //I want execute error 404 
    } 
} 

Alles, was ich kann jetzt zu tun ist, nur eine Flash-Mitteilung einstellen und zu einer anderen Aktion umleiten. Ich möchte jedoch die 404-Seite nicht gefundene Antwort generieren.

Antwort

20

Ich denke, man kann nur eine 404 nicht gefunden Ausnahme werfen:

throw new \yii\web\NotFoundHttpException(); 

Yü Fehler-Manager, dass die vordefinierte Ausnahme behandelt und die sachgemäße Fehlerseite angezeigt.

Sie können konfigurieren/entwerfen Sie Ihre Fehlerseiten Editieransichten/site/error.php

Sie lesen können, wie link die Seite in der folgenden anpassen können

+3

Korrekt. Und wenn Sie einen Status angeben möchten, tun Sie einfach 'new \ yii \ web \ HttpException ($ status);' – Blizz

+0

@Blizz auch 'HttpException' kann eine benutzerdefinierte Nachrichteneigenschaft haben, dh '\ yii \ web \ HttpException (601, 'Großbuchstabe nicht gefunden') ' – SaidbakR

1

diesen Code Put 404-Fehlerseite aufzurufen.

throw new \yii\web\NotFoundHttpException("Your Error Message.");