CodeIgniter ミドルウェア: リクエストとレスポンスのカスタム処理を実装する
はじめに:
Web アプリケーションを開発するとき、多くの場合、リクエストとレスポンスを処理する必要があります。 CodeIgniter フレームワークは、リクエストとレスポンスを処理するためのロジックをカスタマイズできるミドルウェア メカニズムを提供します。ミドルウェアは、リクエストがコントローラーに到達する前、またはレスポンスがクライアントに送信される前に実行されるコードです。この記事では、CodeIgniter ミドルウェアを使用してリクエストとレスポンスのカスタム処理を実装する方法を学びます。
1. CodeIgniter のインストール
まず、CodeIgniter フレームワークをインストールする必要があります。 CodeIgniter をインストールするには、composer.json ファイルを定義し、「composer update」コマンドを実行します。以下は、composer.json ファイルのサンプルです:
{
"require": { "codeigniter4/framework": "^4.1" }
}
2. ミドルウェアの作成
CodeIgniter では、ミドルウェア ハンドル リクエストを作成してカスタマイズできます。と応答。ミドルウェアは通常、app/Middleware ディレクトリに保存されます。次のコマンドを使用して、LogMiddleware というミドルウェアを作成できます。
php spak make:middleware LogMiddleware
これにより、app/Middleware ディレクトリに LogMiddleware.php というファイルが作成されます。
3. リクエスト処理ロジックの実装
LogMiddleware.php ファイルでは、リクエストがコントローラーに到達する前に実行する必要があるコード ロジックを定義できます。例を次に示します。
namespace AppMiddleware;
use CodeIgniterHTTPRequestInterface;
use CodeIgniterHTTPResponseInterface;
use PsrLogLoggerInterface;
use PsrLogLogLevel ;
クラス LogMiddleware は CodeIgniterHTTPMiddlewareInterface を実装します
{
protected $logger; public function __construct(LoggerInterface $logger) { $this->logger = $logger; } public function before(RequestInterface $request, $arguments = null) { $this->logger->log(LogLevel::INFO, 'Request received: ' . $request->getMethod() . ' ' . $request->getUri()->getPath()); } public function after(RequestInterface $request, ResponseInterface $response, $arguments = null) { $this->logger->log(LogLevel::INFO, 'Response sent with status: ' . $response->getStatusCode()); }
}
上記のコード例の LogMiddleware クラスは、MiddlewareInterface インターフェイスを実装します。 before() メソッドでは、リクエスト メソッドや URI パスなど、受信したリクエストの詳細をログに記録します。 after() メソッドでは、応答のステータス コードを記録します。
4. ミドルウェアの登録
ミドルウェアを使用するには、アプリケーションの設定ファイル config/App.php にミドルウェアを登録する必要があります。次のコードを見つけて、LogMiddleware を $middlewareGroups 配列に追加します:
'groups' => [
'web' => [ // ... AppMiddlewareLogMiddleware::class, ], // ...
],
これで、LogMiddleware が中央に配置されます。 「web」はコンポーネントグループに自動的に適用されます。
5. ミドルウェアのテスト
コントローラーで簡単な例を作成して、ミドルウェアをテストできます。 app/Controllers ディレクトリで、Home.php というファイルを作成し、次のコードを追加します:
namespace AppControllers;
use CodeIgniterController;
class Home は、Controller を拡張します
{
public function index() { return "Hello World!"; }
}
6. ブラウザでアプリケーションにアクセスします
次に、ブラウザでアプリケーションにアクセスすると、ミドルウェアの効果をリアルタイムで確認できます。ブラウザにアプリケーションの URL を入力し、ログ内の要求と応答の情報を確認します。
概要:
CodeIgniter のミドルウェア メカニズムは、リクエストとレスポンスをカスタマイズする機能を提供します。ミドルウェアを作成すると、リクエストがコントローラーに到達する前、またはレスポンスがクライアントに送信される前に、カスタム コード ロジックを適用できます。この記事では、簡単なミドルウェアを作成し、それをアプリケーションで使用するために登録する方法を学びました。この記事が役に立ち、CodeIgniter ミドルウェアの使い方をよりよく習得できることを願っています。
以上がCodeIgniter ミドルウェア: リクエストとレスポンスのカスタム処理を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。