0
我正在2.6.1版本中使用PHP Slim Framework(由於升級PHP沒有更新版本的一些限制),並且在嘗試使用在try/catch塊內的flash消息,當模板被呈現時,消息不會存儲在會話中。狹窄的Flash消息不工作嘗試{} catch(){}
$objValidation = FormValidator::isValidData($post);
if($objValidation->bolHasError)
{
$app->flash('objValidation', serialize($objValidation));
$app->flash('selectedData', $post);
return $app->redirect('/app/edit/form/components/');
}
但是,如果我開始使用try塊,像下面的話:
例如,(當驗證得到一些錯誤頁面重定向與所需的閃光消息)下面的代碼工作正常閃光燈消息不保存在$ _SESSION(或甚至在{{閃存}}模板):
try {
$objValidation = FormValidator::isValidData($post);
if($objValidation->bolHasError)
{
$app->flash('objValidation', serialize($objValidation));
$app->flash('selectedData', $post);
return $app->redirect('/app/edit/form/components/');
}
# some other stuff processed here...
}
catch(Exception $e) {
# do something
}
PS:會話存儲在PHP自身的方式(在session_start())。
以這種方式使用Flash消息的範圍有任何限制嗎?
您是否正面看到腳本的流程正在通過第二個示例中的$ app-> flass'部分? – amenadiel
@amenadiel是的。我試圖模擬許多種錯誤。在所有情況下,執行該部分代碼時都會達到degug行。我相信最簡單的方法是提出並捕獲一個異常(一旦我無法使用try塊,因爲該塊中有許多數據庫操作。 –