ホームページ > 記事 > PHPフレームワーク > Laravel は、プロフェッショナルな RestfulAPI を単純に書くことを教えます
次のチュートリアルのコラムで紹介します。 Laravel でプロフェッショナルな RestfulAPI を書く方法. 困っている友人の役に立てば幸いです!
#Laravel は、プロ仕様の URL を簡単に書く方法を教えます
はじめに
データベースに接続し、移行機能を使用してデータベース テーブル構造を作成した後、Seeder を使用して最初にデータベースのダミー データを入力しました。これらの準備が整ったら、
外部データ サポートを提供するリソース インターフェイス関数の構築を検討できます。
自分が設計した API インターフェイスとデータは、以前の API インターフェイスとデータと異なると感じますか?他の大手メーカーのものですか? 提供されているドキュメントのデータ構造が異なります。 はあまりプロフェッショナルに見えませんか、またはあまり標準的ではありませんか?大昌にはまだ何学年差があるでしょうか?
Laravel は、ベストプラクティスに従い、本格的な URL を作成できるシンプルで標準的な方法を提供します。
たとえば、リソースの場合は、Restful スタイルを使用して URL ルーティング アドレスを宣言します。
最初の列は http リクエスト メソッドで、2 番目の列は列はlaravelルーティングルールの宣言、3列目は対応するコントローラーメソッドです。上記のリソース リストには、追加、削除、変更、確認のすべての操作が含まれており、非常に包括的であると言えます。php artisan make:controller EventsController --resource
–resource
オプションを使用して、ターゲット コントローラーで上記のメソッドをすべて生成します。
生成されたファイルは app/Http/Controllers/EventsController.php にあり、初期化内容は次のとおりです:
これらの方法は真実であり、箱から出してすぐに機能します。
クラスの
resource メソッドを使用してリソースを登録するだけです。 Route::resource('events', 'EventsController');
リソース ルーティング メソッドを使用し、次のように指定するだけです。ルート名と対応するコントローラー メソッド。これらのルートとコントローラー メソッドを面倒に記述する必要はありません。 表示を容易にするために、データをビュー ファイルにレンダリングします。最初に
ビュー ファイルを作成し、デフォルトのレイアウト ファイルを使用して、次のコード内:
@extends('layouts.app') @section('content') <h1>Events</h1> @endsection
app/Http/Controllers/EventsController ファイルを開き、
index メソッドを変更します: public function index(){
return view('events.index');}
可能な限りご覧のとおり、上記のメソッドにはデータベースがありません。データ対話のために、以下のモデルを導入し、ビューにレンダリングします。コントローラーの先頭に次の参照を追加します。 use App\Event;
メソッド内に次のコードを入力します。
$events = Event::all();return view('events.index')->with('events', $events);
上記のデータを使用して、単純にビューにコンテンツを出力するには、ビュー ファイルを次のように変更します。 <h1>Events</h1>
@forelse ($events as $event)
テンプレート ファイル
このメソッドは、
$events変数に少なくともトラバーサル用の 1 つの要素、そうでない場合は出力@emptyブロックの内容。ブラウザでルーティングアドレスにアクセスすると、おおよそ以下のような内容が出力されます。 Faker によって入力された偽のデータにより、次のようになります:
データの量が大きすぎる場合、このページにはおそらく時間がかかりますロードに時間がかかります。リストは長いです。したがって、ページングが必要です。ページング関数を追加するには、おそらく次のような SQL ステートメントが使用されます:select id, name from events order by id asc limit 10 offset 0; select id, name from events order by id asc limit 10 offset 10;
メソッドを呼び出すだけです:
$events = Events::paginate(10);
Every ページは 10 エントリに設定されます。ビュー内には前ページ、次ページ、ページ番号のナビゲーション バーが必要ですが、手動で記述する必要はありません。 Laravel は実際には、paginate メソッドによって返される
Illuminate\Pagination\LengthAwarePaginator クラスを継承します。この行をビューに追加するだけで十分です: {!! $events->links() !!}
generatedバーは次のとおりです。
#最後に書いてあります
サードパーティのライブラリを使用してダミーデータを入力することもでき、効率が大幅に向上します。データが準備されて初めて、ビジネス ロジックとインターフェイスのドッキングについて話すことができます。このデータはアプリケーションの基礎にもなるため重要です。
この記事は、前章で説明したlaravelのデータベース移行機能の補足です。データベースの移行は比較的大規模な作業です。
特に運用環境に導入されたアプリケーション データベースの場合、移行を更新する必要がある場合は、起こり得る緊急事態に備えて訓練を実施する必要があります。 。
以上がLaravel は、プロフェッショナルな RestfulAPI を単純に書くことを教えますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。