Laravel admin_crud_pkg
| config | 10 hours ago | ||
| resources | 10 hours ago | ||
| routes | 10 hours ago | ||
| src | 10 hours ago | ||
| tests | 10 hours ago | ||
| .gitignore | 10 hours ago | ||
| README.md | 10 hours ago | ||
| composer.json | 10 hours ago | ||
| phpunit.xml | 10 hours ago | ||
Laravel アプリのデータベーステーブルをブラウザ上から参照・インライン編集するための管理用 CRUD パッケージです。 ReviewHub の AdminController の CRUD 機能 (admin.crud*) を切り出したもので、デフォルト設定では元の URI・ルート名をそのまま再現します。
GET /admin_crud)POST /admin_crud)ローカルパスリポジトリとして読み込む場合:
// 宿主アプリ側 composer.json
"repositories": [
{
"type": "path",
"url": "../CrudPkg",
"options": { "symlink": true }
}
],
composer require istlab/admin-crud:* php artisan vendor:publish --tag=admin-crud-assets # public/vendor/admin-crud に JS/CSS を配置 (必須) php artisan vendor:publish --tag=admin-crud-config # config/admin-crud.php を公開 (任意)
サービスプロバイダ (Istlab\AdminCrud\AdminCrudServiceProvider) はパッケージ自動検出で登録されます。
config/admin-crud.php)| キー | デフォルト | 説明 | |||
|---|---|---|---|---|---|
path |
admin_crud |
ルート URI のベース。/admin_crud, /admin_crudcopy, ... のようになります |
|||
route_name_prefix |
admin. |
ルート名プレフィックス (admin.crud 等) |
|||
middleware |
['web', 'auth'] |
全ルートに適用するミドルウェア | |||
gate |
role_any |
認可に使う Gate 名。null でチェック無効 |
|||
roles |
admin |
参照・コピー・削除等に必要なロール ($user->can($gate, $roles)) |
|||
post_roles |
`admin\ | manager\ | ec\ | pub` | セル更新 (crudpost) に必要なロール |
model_namespace |
App\Models |
Eloquent モデルの名前空間 | |||
layout_component |
admin-crud::layout |
ページレイアウトの Blade コンポーネント名 | |||
limit |
100 |
1ページの最大表示行数 | |||
scheduled_update_create_route |
null |
予約更新作成ページのルート名 (例: scheduled_update.create) |
|||
jquery_url |
CDN (jquery 3.7.1) | ビューで読み込む jQuery の URL |
// config/admin-crud.php 'layout_component' => 'app-layout', // <x-app-layout> 内に描画 'jquery_url' => '/js/jquery.min.js', // 既存の jQuery を利用 'scheduled_update_create_route' => 'scheduled_update.create',
app-layout を使う場合、レイアウトに @stack('localcss') と @stack('localjs') が必要です。
デフォルトでは role_any という Gate を $user->can('role_any', 'admin') の形で呼びます。 宿主アプリ側で次のような Gate を定義してください (ReviewHub では定義済みです):
Gate::define('role_any', function ($user, string $roles_str) {
// $roles_str は 'admin|manager' のようなパイプ区切り
...
});
Gate を使わない場合は 'gate' => null にし、middleware で独自に保護してください。
routes/web.php の // begin CRUD 〜 // end CRUD のルート定義を削除AdminController の crud* メソッドと resources/views/admin/crud*.blade.php は不要になります (パッケージ側が同じ URI・ルート名を引き継ぐため、既存の route('admin.crud', ...) へのリンクはそのまま動きます)旧ルートを残したままインストールする場合は、ルート名・URI が衝突しないよう path と route_name_prefix を変更してください (例: 'path' => 'crud', 'route_name_prefix' => 'crud.')。