これは、AdminLTE 3.0 テーマ、Alpinejs 2.0、Livewire 2.0 を使用した独自の Laravel 8.0 管理パネル ビルドの定型文であり、テストとオプションの機能ブランチでサポートされています。
Laravel Castra に積極的に取り組んでいるこのリポジトリを確認してください。同じアイデアですが、ツールが異なります (Hotwire Turbo)。
場合によっては、パッケージが大きすぎたり、使いづらすぎたりすることがあります。探している重要な機能がパッケージになく、それを回避するためにいくつかのハッキングを行っている場合もあります。
あなたに欠けているのはコードを制御することですが、これでそれが手に入りました。新しいユーザーの追加方法が気に入らない。問題ない。コードは好きなように修正できます。パッケージをフォークしたりコードをいじったりする必要はもうありません。このアイデアは、標準機能のブランチを作成し、他のユーザーがそれらをマスター ブランチにマージできるようにすることです。
サポートされている機能ブランチのリストは次のとおりです。それらをマスターにマージすることで、新しい機能が利用可能になります。
Laravel をインストールした後、次のコマンドを実行する必要があります。
git clone https://github.com/jcergolj/laravellte.git
composer install
cp .env.example .env
php artisan key:generate
npm install
npm run dev
composer cghooks update
php artisan migrate:fresh --seed
正直に言ってみましょう。時々、私たちはいい加減で、コードに最大限の注意を払っていないことがあります。開発者の負担をできるだけ軽減するために、いくつかの便利なパッケージを追加しました (皮肉ですね)。
"php artisan insights --no-interaction --min-quality=90 --min-complexity=85 --min-architecture=90 --min-style=95"
CRUD アクションの場合は、組み込みのファイル スキャフォールディング コマンドの使用を検討してください。次のようなインデックス、作成、表示、編集、削除アクション用のファイルが生成されます。
php artisan make:ltd-component bla --index --create --show --edit --delete
いずれのオプションも省略できます。必要に応じて、 stubs
ファイルを更新できます。スキャフォールド ファイルには、コードを修正するためのリマインダーとして機能するコメントがあります。次に、 index-review
、 create-review
、 show-review
、 edit-review
、 delete-review
と入力すると検索できます。ファクトリおよびモデルのスキャフォールディングは、このコマンドには含まれません。
Laravelte はロール - 権限ベースの承認システムを使用します。管理者ロールを持つユーザーのみが、新しいロールを追加し、それに権限を割り当てることができます。
新しいリソースのアクセス許可は、PermissionsTableSeeder を通じて追加されます。慣例により、主な権限タイプは、複数の接頭辞で resource を使用して、 index 、 create 、 edit 、 show 、およびdeleteです。例: users.index 。そうは言っても、独自のものを自由に追加できます。ただし、コードを確認/修正する必要があります。
規則に基づいて、ルート名は、 index 、 create 、 edit 、 show 、およびdeleteのタイプである必要があります。例を参照してください。
livewire コンポーネントの命名規則は次のとおりです。これらのタイプの 1 つを使用し、その後にリソース名、次にコンポーネントを使用する必要があります。例: IndexUserComponent すべての Livewire コンポーネントは HasLivewireAuth 特性を使用する必要があります。ここからは実装です。
ロールに権限を追加する場合、 owner_restrictedという追加のフィールドが存在します。所有者制限フィールドがインデックス ページに対してtrueの場合、その権限を持つユーザーは自分のリソースのみを表示できます。ただし、これが機能するには、リソースに owner_id が設定され、ブート メソッドでVisibleToグローバルがアタッチされている必要があります。
show 、 edit 、およびdeleteタイプに対して所有者制限フィールドがtrue の場合、ユーザーは自分が所有するリソースのみを変更できます。
作成タイプの場合、所有者制限は無視されます。
その中心となるのは、認可を処理する ForRouteGate です。佳作は認可ミドルウェアに贈られます。
管理者ロールの場合、権限制限は適用されません。
MITライセンスに基づいてライセンスされています
ヤネス・チェルゴリ | オラシオ デジョルジ | クリス・トンプソン | マドゥカ・ジャヤラス |