ホームページ > バックエンド開発 > PHPチュートリアル > Lithe と Eloquent を使用したミニ ブログ API の作成

Lithe と Eloquent を使用したミニ ブログ API の作成

Barbara Streisand
リリース: 2024-11-30 10:08:11
オリジナル
823 人が閲覧しました

Criando uma API de Mini Blog com Lithe e Eloquent

このチュートリアルでは、シンプルで柔軟な PHP フレームワークである Lithe と ミニ ブログ API を作成します。 >Eloquent ORM、データベースとの対話を容易にします。 Lithe はすでに Eloquent を自動的に構成しているため、必要な作業は簡単です。環境変数を調整し、データのモデルと移行を作成します。

簡単なステップバイステップのガイドに従って、この API を複雑にすることなく効率的に構築してみましょう。


ステップ 1: Lithe をインストールする

最初のステップは、プロジェクトに

Lithe をインストールすることです。まだこれを行っていない場合は、ターミナルで次のコマンドを実行してください:

composer create-project lithephp/lithephp mini-blog-api
ログイン後にコピー
ログイン後にコピー
このコマンドは、Lithe を使用して新しいプロジェクトを作成します。 Lithe は既に Eloquent を自動的に構成していますが、データベースに接続するには .env ファイル内のいくつかの設定を調整する必要があります。


ステップ 2: データベースを構成する

それでは、データベースを設定しましょう。プロジェクトのルートにある .env ファイルを開き、データベース設定を編集します。

MySQLEloquent ORM を使用するには、設定は次のようにする必要があります:

DB_CONNECTION_METHOD=eloquent
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=lithe_eloquent
DB_USERNAME=root
DB_PASSWORD=
DB_SHOULD_INITIATE=true
ログイン後にコピー
ログイン後にコピー
ここで、

Lithe はすでに Eloquent を自動的に構成しているため、次のステップは Eloquent ORM がインストールされていることを確認することです。まだインストールしていない場合は、以下のコマンドを実行して Eloquent ORM: をインストールします。

composer require illuminate/database
ログイン後にコピー
ログイン後にコピー
インストール後、

LitheEloquent ORM を使用してデータベースと対話できるようになります。これにより、データベースは ミニ ブログ! API 用に正しく構成されました。


ステップ 3: テンプレートを作成して投稿に移行する

次に、データベース内の

posts テーブルを定義するモデルと移行を作成しましょう。

まず、次のコマンドを使用して投稿テンプレートを作成します。


php line make:model Post
ログイン後にコピー
ログイン後にコピー
次に、posts テーブルの移行を作成します。


php line make:migration create_posts_table
ログイン後にコピー
ログイン後にコピー
モデルと移行はすでに作成されています。次に、それらを構成しましょう。

投稿テンプレート

Post モデルは src/models/Post.php にあります。ファイルを次のように編集します:


namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    // A tabela associada ao modelo
    protected $table = 'posts';

    // Campos que podem ser preenchidos via mass-assignment
    protected $fillable = ['title', 'content'];

    // Usar timestamps para created_at e updated_at
    public $timestamps = true;
}
ログイン後にコピー
ログイン後にコピー
このコードでは、タイトル フィールドとコンテンツ フィールドを入力可能として定義しています。つまり、投稿を作成または更新するときに自動的に入力できます。

投稿テーブルの移行

生成された移行は src/database/migrations/{timestamp}_create_posts_table.php にあります。移行を編集して、posts テーブル構造を作成します:

composer create-project lithephp/lithephp mini-blog-api
ログイン後にコピー
ログイン後にコピー

ここでは、フィールド id、タイトル、コンテンツ、および日時フィールド created_at および updated_at を持つ posts テーブルを作成しています。


ステップ 4: 移行を実行する

移行とモデルの準備ができたら、移行を実行してデータベースに Posts テーブルを作成しましょう。次のコマンドを実行します:

DB_CONNECTION_METHOD=eloquent
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=lithe_eloquent
DB_USERNAME=root
DB_PASSWORD=
DB_SHOULD_INITIATE=true
ログイン後にコピー
ログイン後にコピー

このコマンドは、移行で定義したフィールドを使用してデータベースに Posts テーブルを作成します。


ステップ 5: 投稿のコントローラーを作成する

次に、API ポストを管理するための コントローラー を作成しましょう。コントローラーは、HTTP リクエストを処理し、組織的な方法でデータを返す責任を負います。

コントローラーを作成するには、次のコマンドを実行します:

composer require illuminate/database
ログイン後にコピー
ログイン後にコピー

これにより、src/http/Controllers/PostController.php にファイルが生成されます。このファイルを編集して、投稿の CRUD (作成、読み取り、更新、削除) メソッドを含めます。

PostController の例を次に示します。

php line make:model Post
ログイン後にコピー
ログイン後にコピー

ここでは 5 つの基本的なメソッドを紹介します。

  • Index: すべての投稿をリストします。
  • show: 特定の投稿を表示します。
  • ストア: 新しい投稿を作成します。
  • update: 既存の投稿を更新します。
  • destroy: 投稿を削除します。

ステップ 6: API ルートを定義する

次に、投稿 API のルートを定義しましょう。 src/App.php ファイルを開き、次のコードを追加します:

php line make:migration create_posts_table
ログイン後にコピー
ログイン後にコピー

上記のコードは、Lithe アプリケーションのインスタンスを作成します。 $app->set('routes', __DIR__ . '/routes'); という行Lithe にルート ファイルの場所を指示します。 Lithe はすべてのファイルを src/routes フォルダーに自動的にロードします。各ルート ファイルは、その名前に基づいて URL にマッピングされます。例:

  • cart.php ファイルは /cart ルートに移動します。
  • admin/dashboard.php ファイルは /admin/dashboard ルートに移動します。

$app->listen();これにより、Lithe はリクエストの「リスニング」を開始します。つまり、リクエストを待ち、定義されたルートにリクエストを送ります。

次に、src/routes/posts フォルダー内に /posts ルートを表す posts.php というファイルを作成し、次のコードを追加します。

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    // A tabela associada ao modelo
    protected $table = 'posts';

    // Campos que podem ser preenchidos via mass-assignment
    protected $fillable = ['title', 'content'];

    // Usar timestamps para created_at e updated_at
    public $timestamps = true;
}
ログイン後にコピー
ログイン後にコピー

これらのルートは、PostController メソッドを API URL に接続します。


ステップ 7: API をテストする

すべての設定が完了したので、PostmanInsomnia などのツールを使用して API をテストできます。テストできるエンドポイントは次のとおりです:

  • GET /posts: すべての投稿を返します。
  • GET /posts/:id: 特定の投稿を返します。
  • POST /posts: 新しい投稿を作成します。
  • PUT /posts/:id: 既存の投稿を更新します。
  • DELETE /posts/:id: 投稿を削除します。

これで、LitheEloquent ORM を使用して ミニ ブログ API が作成されました。 Lithe は Eloquent を自動的に構成し、環境変数にいくつかの変更を加え、必要なモデルとコントローラーを作成するだけで済みました。これで、ブログ投稿を管理するための完全な RESTful API が完成しました。

Lithe および Eloquent ORM の使用方法の詳細については、Lithe の公式ドキュメント (Lithe Documentation) を参照してください。

以上がLithe と Eloquent を使用したミニ ブログ API の作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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