ホームページ  >  記事  >  PHPフレームワーク  >  Laravel 開発: Laravel Nova と AdminBro を使用してバックエンド管理インターフェイスを生成する方法?

Laravel 開発: Laravel Nova と AdminBro を使用してバックエンド管理インターフェイスを生成する方法?

WBOY
WBOYオリジナル
2023-06-15 18:01:291356ブラウズ

Laravel は、開発者が Web アプリケーションをより迅速かつ簡単に構築できるようにする豊富な機能とツールを備えた人気の PHP Web アプリケーション フレームワークです。 Laravel Nova と AdminBro は、美しいバックエンド管理インターフェイスを迅速に生成するのに役立つ 2 つのオープンソース フレームワークです。この記事では、これらを使用して迅速な開発を実現し、アプリケーションを迅速にオンラインにする方法を紹介します。

1. Laravel Nova と AdminBro について理解する

Laravel Nova は、Taylor Otwell と彼のチームによって開発された、美しく使いやすいバックエンド管理パネルであり、次のようないくつかの強力な機能を提供します。リソース管理、フィルタリングと並べ替え、カスタム ダッシュボードなど。さらに、複数のコンポーネントを使用して、Nova のスタイルと外観を簡単にカスタマイズできます。

AdminBro は、Node.js および Typescript 用の拡張可能なバックエンド管理パネルです。ユーザー インターフェイス ライブラリとして React を使用し、応答性の高いデザインと使いやすさを備えています。開発者は、AdminBro を使用して独自の管理パネルを開発できます。 、外観と動作を必要に応じてカスタマイズできます。

2. Laravel Nova のインストールと設定

始める前に、最新バージョンの Laravel がプロジェクトにインストールされていることを確認する必要があります。プロジェクトで、composer を使用して、Laravel Nova の最新バージョンを更新してインストールします。

composer require laravel/nova

インストールプロセスには時間がかかる場合があり、Laravel Nova の公式 Web サイトにログインして Nova アプリケーションを登録し、認可。

完了したら、Nova をルーティング ファイルに追加する必要があります。これは、次のステートメントを使用して実現できます:

#Route::get('/nova', function () { return redirect('/nova/login');});

このステートメントをルーティング ファイルに追加して、承認されたユーザーのみが管理パネルを利用できるようにすることもできます。

Route::middleware(['auth'])->group(function () { Route::get('/nova', function () { return redirect('/nova/) login'); }); Nova::routes();});

ここでは、Nova::routes() メソッドを使用して、nova が使用するルートを指定できます。セットアップが完了すると、新しく追加された /Admin ルートにアクセスし、Nova コントロール パネルに正常にログインできるようになります。

3. AdminBro のインストールと設定

Laravel Nova と比較して、AdminBro は Node.js 環境で実行できます。さまざまな入力値の厳密に型指定された入力、カスタマイズされたプレビュー、フィルタリング、並べ替え、その他の機能など、さまざまな拡張機能をサポートするプラグイン アーキテクチャです。

AdminBro のインストールは非常に簡単で、まず 2 つの必要な依存関係をインストールする必要があります。

npm install admin-bro

npm install @admin-bro/express

次に、Set をインストールする必要がありますアプリケーションで AdminBro を起動し、ルーティング パスとハンドラーを設定できるルーターで AdminBro を有効にします。

const AdminBro = require('admin-bro')
const AdminBroExpress = require('@admin-bro/express')
const express = require('express')

const adminBro = new AdminBro()
const router = AdminBroExpress.buildRouter(adminBro)

const app = express()
app.use(adminBro.options.rootPath, router)

app.listen(8080, () => { console.log('Server running')})

Express アプリケーションで AdminBro を有効にした後、すべてのエンティティを含む AdminBro 構成オブジェクトを作成する必要があります。

const Cars = require('./entities/cars')
const Users = require('./entities/users')

const adminBroOptions = {
  resources: [{
    resource: Cars,
    options: {
      properties: {
        name: { isTitle: true },
        gearbox: { components: { list: AdminBro.bundle('./path/to/custom/components/list') } },
      },
    },
  }, Users]
}

const adminBro = new AdminBro(adminBroOptions)

ここでは、エンティティをアタッチするコードを作成します。このプログラムをテンプレートとして使用して、カスタム エンティティ、プロパティ、コンポーネントを追加できます。

4. Laravel Nova と AdminBro を使用してデータを管理する

Laravel Nova と AdminBro をアプリケーションにインストールして構成したので、それらを使用してカスタム管理パネルを作成できます。これらのフレームワークはある点では非常に似ていますが、他の点ではわずかに異なります。

1. リソース管理: Laravel Nova は、Laravel の便利な ORM (オブジェクト リレーショナル マッピング) を使用して、記事、著者、コメント、注文などのリソースを簡単かつシンプルに管理できる、シンプルかつ強力なリソース マネージャーを提供します。 AdminBro も同様の操作を実行できますが、独自の新しいエンティティ クラスとデータ ソースを使用する必要があるため、より時間がかかる可能性があります。

2. フィールドとプロパティ: Laravel Nova と AdminBro の管理パネルでは、プラグインやカスタム コンポーネントをインストールすることで、入力、表示、およびフィールドのフォーマットを簡単に追加できます。どちらのフレームワークもフィールドの作成をサポートしていますが、Nova にはより多くのフィールド コンポーネントがあります。対照的に、AdminBro のカスタム コンポーネントを使用すると、セレクターやラジオ ボタンなどの特定のコンポーネントをより直接的に管理できます。

3. ビューのカスタマイズ: Laravel Nova はデフォルトのテンプレート エンジンとして Blade を使用します。したがって、Laravel のコアテンプレートシステムを使用してビューを定義できます。同時に、Nova は Vue を使用してカスタム コンポーネントを開発することもできます。 AdminBro はデフォルトのユーザー インターフェイス ライブラリとして React を使用するため、カスタム ビューを開発するには React を使用する必要があります。

結論

Laravel Nova と AdminBro はどちらも、開発者が Web アプリケーションで美しく使いやすい管理パネルをより速く作成できるようにする優れたフレームワークです。動作は若干異なりますが、ニーズに基づいてどのフレームワークを使用するかを決定できます。今後は、上記の手順に従うだけで、アプリケーションでこれら 2 つのフレームワークを構成して使用できるようになり、学習と開発の効率が最大限に向上し、アプリケーションをより速くオンラインにできるようになります。

以上がLaravel 開発: Laravel Nova と AdminBro を使用してバックエンド管理インターフェイスを生成する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。