PHP は、動的な Web サイト開発に使用される非常に人気のあるサーバーサイド スクリプト言語です。 Slim6 フレームワークは、基本的なルーティング、HTTP リクエストとレスポンスのカプセル化を提供することで Web アプリケーション開発を簡素化する軽量の PHP マイクロフレームワークです。
この記事では、Slim6 フレームワークを使用して Web アプリケーションを構築する方法を検討します。次のトピックについて説明します:
Slim6 フレームワークを使用するには、 PHP 環境 Composer パッケージ管理ツールをインストールします。 Composer をインストールした後、次のコマンドを使用して Slim をインストールできます。
composer require slim/slim:"^4.6"
インストールが完了したら、composer によって生成された vendor/autoload.php
ファイルをアプリケーションに含めます。
require __DIR__ . '/../vendor/autoload.php';
プロジェクトのルート ディレクトリに、index.php
というファイルを作成し、この /autoload.php ファイルを含めます。これにより、プロジェクトに Slim6 フレームワークとその他の依存関係が読み込まれます。
Slim6 フレームワークを使用するには、アプリケーション インスタンスを作成し、ルートを追加する必要があります。ルートは、アプリケーションのさまざまな部分にアクセスする URL です。ルートは、HTTP リクエスト メソッド (GET、POST、PUT など) と URL パターンに基づいて定義できます。
以下は、Hello World
を表示する簡単なルーティングの例です。
$app = SlimFactoryAppFactory::create(); $app->get('/', function ($request, $response, $args) { return $response->write('Hello World'); }); $app->run();
上記のコードでは、最初に Slim の create()
メソッドを使用します。アプリケーションインスタンスを作成します。次に、URL /
を使用して GET リクエストを定義し、コールバック関数で応答を返します。最後に、アプリケーションを実行します。
Slim6 フレームワークは、HTTP リクエストとレスポンスを処理するための便利なメソッドを多数提供します。たとえば、getBody()
メソッドを使用してリクエスト本文を取得したり、withHeader()
メソッドを使用して応答ヘッダーを設定したり、withStatus()## を使用したりできます。 # レスポンスコードを設定するメソッド。
$app->post('/hello', function ($request, $response, $args) { $body = $request->getBody(); $response->withHeader('Content-Type', 'application/json'); $response->withStatus(200); return $response->withJson(['message' => 'Hello ' . $body['name']]); });
/hello である POST リクエストを定義し、コールバック関数を呼び出し、JSON 応答を返します。
use PsrHttpMessageResponseInterface as Response; use PsrHttpMessageServerRequestInterface as Request; $app->add(function (Request $request, Response $response, $next) { $response->withHeader('Access-Control-Allow-Origin', '*'); return $next($request, $response); });
Access-Control-Allow-Originを設定する匿名関数を定義します。クロスオリジン要求を許可する応答ヘッダー。次に、Slim の
add() メソッドを使用して、このミドルウェアを追加します。最後に、アプリケーションにミドルウェアを追加します。
$app->get('/user/{id}', function ($request, $response, $args) { $db = new PDO('sqlite:database.db'); $stmt = $db->prepare('SELECT * FROM users WHERE id = :id'); $stmt->execute(['id' => $args['id']]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if (!$user) { $response = $response->withStatus(404); return $response->write('User not found'); } return $response->withJson($user); });
/user/{id} と ID を使用して GET リクエストを定義します。パラメータはコールバック関数に渡されます。次に、SQLite データベースに接続し、ユーザー データをクエリします。ユーザーが見つからない場合は、404 応答が返されます。
以下は 404 エラーを処理する例です:
$app->addErrorMiddleware(true, true, true); $app->get('/user/{id}', function ($request, $response, $args) { $db = new PDO('sqlite:database.db'); $stmt = $db->prepare('SELECT * FROM users WHERE id = :id'); $stmt->execute(['id' => $args['id']]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if (!$user) { throw new Exception('User not found', 404); } return $response->withJson($user); });
上記のコードでは、Slim の
addErrorMiddleware() メソッドを使用してエラー処理ミドルウェアを追加しました。次に、コールバック関数でユーザーが存在するかどうかを確認します。ユーザーが見つからない場合は、例外がスローされ、404 応答が返されます。
以上がPHPでSlim6フレームワークを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。