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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 php Slim 框架中沒(méi)有 try/except 的自定義錯(cuò)誤處理

在 php Slim 框架中沒(méi)有 try/except 的自定義錯(cuò)誤處理

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

1 回答

?
江戶川亂折騰

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊

在 Slim 4 中,您可以將自定義錯(cuò)誤處理程序添加到 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);


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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