這是固執己見的 Laravel 8.0 管理面板構建的樣板,帶有 AdminLTE 3.0 主題、Alpinejs 2.0、Livewire 2.0,支援測試和可選功能分支。
你可以查看這個 repo 我正在積極致力於 Laravel Castra。相同的想法,不同的工具(Hotwire Turbo)。
有時包太大或太麻煩而無法使用。其他時候,軟體包沒有您正在尋找的關鍵功能,您需要進行一些修改來繞過它。
您所缺少的是對程式碼的控制,現在您擁有了!不喜歡新增用戶的方式。沒問題。您可以隨意修改程式碼。不再需要分叉包和弄亂他們的程式碼。這個想法是創建標準功能的分支,並使其他人可以將它們合併到他們的主分支中。
這是支援的功能分支的列表。將它們合併到 master 中,您可以解鎖新功能。
安裝 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 新增的。依照慣例,主要權限類型是索引、建立、編輯、顯示和刪除,資源以複數前綴。例: users.index 。話雖如此,您可以自由添加自己的。但是,您必須檢查/修改程式碼。
根據慣例,路由名稱必須屬於以下類型: index 、 create 、 edit 、 show和delete 。參見範例。
對於 livewire 元件,命名它們的約定如下:您必須使用這些類型,後面接著資源名稱,然後是元件。例如 IndexUserComponent 所有 Livewire 元件都必須使用 HasLivewireAuth 特徵。這裡是實現。
在角色中新增權限時,有一個名為owner_restricted 的額外欄位。如果擁有者限製欄位對於任何索引頁為true,則具有該權限的使用者只能看到自己的資源。但是,為了使其正常運作,資源必須在啟動方法中加入owner_id 和VisibleTo全域附加。
如果顯示、編輯和刪除類型的擁有者限製欄位為true ,則使用者只能修改他擁有的資源。
對於創建類型,所有者限制將被忽略。
它的核心是處理授權的 ForRouteGate。榮譽獎頒給了授權中間件。
對於管理員角色權限限制不適用。
根據 MIT 許可證獲得許可
賈內茲·塞爾戈利 | 奧拉西奧·德吉奧爾吉 | 克里斯湯普森 | 馬杜卡·賈亞拉特 |