第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 php Slim 框架中沒有 try/except 的自定義錯誤處理

在 php Slim 框架中沒有 try/except 的自定義錯誤處理

PHP
有只小跳蛙 2023-04-28 15:01:08
使用 php 和 Slim Framework,有沒有一種方法可以設(shè)置錯誤處理程序,以便我的自定義異??梢宰詣佑|發(fā)所需的 HTTP 響應(yīng),而無需強制我捕獲所有不同的異常類型?我從我使用python Flask 的項目中知道這樣的例子,但不知道 php 等價物。例如,無論在代碼中的何處引發(fā)異常,我都希望我的自定義 BadCustomerDataException() 觸發(fā) HTTP 400 響應(yīng),WaitingForResourceException() 觸發(fā) 423 響應(yīng),F(xiàn)aultyServerIsDeadAgainException() 觸發(fā) 500 響應(yīng)。目前我正在使用 Slim 版本 3,并計劃更新到版本 4。
查看完整描述

1 回答

?
江戶川亂折騰

TA貢獻1851條經(jīng)驗 獲得超5個贊

在 Slim 4 中,您可以將自定義錯誤處理程序添加到 ErrorMiddleware。您還可以在 ErrorMiddleware 之前添加自己的中間件以捕獲和映射您自己的異常:


例子


<?php

use Psr\Http\Message\ServerRequestInterface;

use Psr\Http\Server\RequestHandlerInterface;

use Slim\Exception\HttpNotFoundException;

use Slim\Middleware\ErrorMiddleware;

use Slim\Psr7\Response;

// ...


// HttpNotFound Middleware

$app->add(function (

? ? ServerRequestInterface $request,?

? ? RequestHandlerInterface $handler

? ? ) {

? ? try {

? ? ? ? return $handler->handle($request);

? ? } catch (HttpNotFoundException $httpException) {

? ? ? ? $response = (new Response())->withStatus(404);

? ? ? ? $response->getBody()->write('404 Not found');


? ? ? ? return $response;

? ? }

});


$app->add(ErrorMiddleware::class);


查看完整回答
反對 回復(fù) 2023-04-28
  • 1 回答
  • 0 關(guān)注
  • 157 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號