Lumen は、Laravel フレームワーク開発者によって開発された PHP ベースのマイクロフレームワークです。元々は、Laravel フレームワークのいくつかのコンポーネントと機能を保持しながら、小さな API アプリケーションとマイクロサービスを迅速に構築するように設計されました。 Lumen フレームワークは軽量で高速で使いやすいため、広く注目され、使用されています。この記事では、Lumen フレームワークを簡単に使い始め、Lumen フレームワークを使用して単純な API アプリケーションを構築する方法を学びます。
Lumen フレームワークを学習する前に、まずフレームワークを準備する必要があります。 Lumen フレームワークは、composer を使用してインストールできるため、Lumen をインストールする前に Composer をインストールする必要があります。まず、composer 公式 Web サイトにアクセスして、https://getcomposer.org/download/ をダウンロードしてインストールする必要があります。インストールが完了したら、composer が正常にインストールされたかどうかをコマンド ラインで確認できます:
$ combos -v
Lumen のダウンロード アドレスは、Lumen 公式 Web サイトで見つけることができます。または、 Composer を直接ダウンロードして使用できます。コマンドラインに次のコマンドを入力して、ダウンロードしてインストールします:
$composer create-project --prefer-dist laravel/lumen app
ここでは、composer コマンドを使用して Lumen をダウンロードします。フレームワークを作成してインストールします 「app」というディレクトリにインストールします。
Lumen フレームワークのルーティング管理は非常にシンプルかつ明確で、routes/web.php ファイルに対応するルーティング ルールを定義するだけです。 。以下に簡単なルーティング設定例を示します。
<?php $router->get('/', function () use ($router) { return $router->app->version(); }); $router->get('/users', 'UserController@index'); $router->get('/users/{id}', 'UserController@show');
ここでは、3 つのルーティング ルールを定義します。 1 つ目はデフォルトのルートです。Web サイトのホームページにアクセスすると、デフォルトで Lumen のバージョン番号が返されます。2 つ目のルートはユーザー リストの取得に使用され、対応するコントローラー メソッドは UserController の「index」です。3 つ目のルートは、特定のユーザーに関する詳細情報を取得するには、対応するコントローラー メソッドが UserController の「show」に使用されます。
Lumen フレームワークのコントローラー管理は Laravel フレームワークと似ており、app/Http/Controllers ディレクトリで対応するコントローラーを定義できます。以下は、UserController コントローラーの例です。
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppUser; class UserController extends Controller { public function index() { $users = User::all(); return response()->json($users); } public function show($id) { $user = User::find($id); return response()->json($user); } }
ここでは、ユーザー リストに対応し、ユーザーの詳細を取得する 2 つのコントローラー メソッドを定義します。同時に、Lumen フレームワークの応答メソッドを使用して、json 形式でデータを返します。
Lumen フレームワークは、Laravel フレームワークに組み込まれている Eloquent ORM を通じてデータベース操作を実行できます。 config/database.php ファイルで対応するデータベースを構成し、モデルを通じてデータベースのクエリと操作を実行できます。以下は簡単な例です:
<?php namespace App; use IlluminateDatabaseEloquentModel; class User extends Model { protected $fillable = ['name', 'email', 'password']; }
これは単純な User モデルで、変更可能なフィールド名を指定するために fillable 属性を定義します。このモデルを UserController でクエリおよび変更操作に使用できます。
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppUser; class UserController extends Controller { public function index() { $users = User::all(); return response()->json($users); } public function show($id) { $user = User::find($id); return response()->json($user); } public function store(Request $request) { $this->validate($request, [ 'name' => 'required', 'email' => 'required|unique:users', 'password' => 'required' ]); $user = User::create([ 'name' => $request->input('name'), 'email' => $request->input('email'), 'password' => password_hash($request->input('password'), PASSWORD_DEFAULT) ]); return response()->json($user, 201); } }
ここでは、POST リクエストを受信し、ユーザー データをデータベースに保存するストア メソッドを追加しました。
最後に、コマンド ラインを使用して、テスト用の組み込み PHP 開発サーバーを起動できます。フレームワークのルート ディレクトリで次のコマンドを実行します:
$ php -S localhost:8000 -t public
次に、ブラウザで http://localhost:8000/users にアクセスすると、ユーザーリスト情報の取得に成功しました。同様に、http://localhost:8000/users/1 にアクセスすると、ID 1 の特定のユーザー情報が正常に取得されます。
概要
上記は、Lumen フレームワークの完全な API アプリケーションの開発プロセスです。 Lumen フレームワークは、Laravel フレームワークの優れた機能の一部を保持しながら、軽量で便利な API 開発方法を提供します。これにより、小規模な API アプリケーションやマイクロサービスを迅速に構築できます。 Lumen フレームワークに興味がある場合は、実際のプロジェクトで使用してみることができます。
以上がPHP 実装フレームワーク: Lumen フレームワーク入門チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。