ホームページ > バックエンド開発 > PHPチュートリアル > PHP 実装フレームワーク: Lumen フレームワーク入門チュートリアル

PHP 実装フレームワーク: Lumen フレームワーク入門チュートリアル

WBOY
リリース: 2023-06-18 08:42:01
オリジナル
2402 人が閲覧しました

Lumen は、Laravel フレームワーク開発者によって開発された PHP ベースのマイクロフレームワークです。元々は、Laravel フレームワークのいくつかのコンポーネントと機能を保持しながら、小さな API アプリケーションとマイクロサービスを迅速に構築するように設計されました。 Lumen フレームワークは軽量で高速で使いやすいため、広く注目され、使用されています。この記事では、Lumen フレームワークを簡単に使い始め、Lumen フレームワークを使用して単純な API アプリケーションを構築する方法を学びます。

  1. フレームワークの準備

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」というディレクトリにインストールします。

  1. ルーティング管理

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」に使用されます。

  1. コントローラー管理

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 形式でデータを返します。

  1. データベース操作

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 リクエストを受信し、ユーザー データをデータベースに保存するストア メソッドを追加しました。

  1. 結果の取得

最後に、コマンド ラインを使用して、テスト用の組み込み 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート