alp-develop/laravel-livewire-panel
Composer 安装命令:
composer require alp-develop/laravel-livewire-panel
包简介
Admin panel framework for Laravel and Livewire. Modular architecture with widgets, plugins, search, notifications, gate authorization, dark mode, i18n and multi-theme support (Bootstrap 4, Bootstrap 5, Tailwind CSS). Compatible with Laravel 10-13, Livewire 3-4, PHP 8.1-8.5.
README 文档
README
A complete admin panel framework for Laravel. Supports Bootstrap 4, Bootstrap 5, and Tailwind CSS. Compatible with Livewire 3 and Livewire 4.
Requirements
| Requirement | Version |
|---|---|
| PHP | 8.1 / 8.2 / 8.3 / 8.4 / 8.5 |
| Laravel | 10 / 11 / 12 / 13 |
| Livewire | 3.x / 4.x |
Installation
composer require alp-develop/laravel-livewire-panel php artisan panel:install
The installer runs an interactive menu:
- URL prefix (default:
admin) - Navigation mode —
configormodules - CSS Theme — Bootstrap 5, Bootstrap 4, or Tailwind CSS
- Gate driver — None, Spatie, or Laravel Gate
- Registration — enable/disable
- CDN libraries — Chart.js, SweetAlert2, Select2, Flatpickr
- Publish views — optional
Use --defaults to skip prompts.
Quick Start
Create your first page
In config mode, create a Livewire component with the panel layout and register the route manually:
namespace App\Livewire; use Livewire\Attributes\Layout; use Livewire\Component; #[Layout('panel::layouts.app')] class Dashboard extends Component { public function render() { return view('livewire.dashboard'); } }
Register the route in routes/web.php with PanelAuthMiddleware. The prefix must match the panel prefix and the name must follow the pattern panel.{panelId}.:
use App\Livewire\Dashboard; use AlpDevelop\LivewirePanel\Http\Middleware\PanelAuthMiddleware; Route::middleware(['web', PanelAuthMiddleware::class]) ->prefix('prefix') ->name('panel.admin.') ->group(function () { Route::get('/', Dashboard::class)->name('home'); });
Visit http://yourapp.test/prefix/login — after login you land on /prefix where your page renders inside the panel layout.
The prefix determines the base URL of the panel. For example, 'prefix' => 'admin' means all panel routes live under /admin/*. After login, the user is redirected to /{prefix}. Route names must follow panel.{panelId}.{name} so the sidebar can resolve them.
See Installation for the full interactive menu, modules mode, and all options.
Documentation
| Guide | Description |
|---|---|
| Installation | Interactive installer, navigation modes, getting started |
| Commands | All panel:* artisan commands |
| Configuration | Panels, guards, modes, CDN, multi-panel, helpers |
| Components | Login, register, sidebar, navbar per panel |
| Navigation | Config mode, modules mode, groups, permissions, user menu |
| Modules | Dashboard, Users, Auth + custom modules |
| Widgets | StatsCard, Chart, RecentTable + custom widgets |
| Themes | Bootstrap 4/5, Tailwind + custom themes |
| Customization | CSS variables, sidebar, navbar, dark mode, layout |
| Icons | Heroicons + custom icon libraries |
| Localization | Language selector, translations, i18n |
| Plugins | Cross-panel extensions with navigation and widgets |
| Notifications | Navbar bell icon, badge, polling, notification providers |
| Events | Audit events for login, registration, CRUD, access control |
| Security | Rate limiting, CSS sanitization, gate drivers, recommendations |
| API Reference | Interfaces, classes, registries, events |
Features
- Multi-panel -- Multiple independent panels in a single app with separate config, theme, guard and navigation per panel.
- 3 CSS themes -- Bootstrap 4, Bootstrap 5 and Tailwind CSS with full CSS variable theming (
--panel-*). - Sidebar state management -- Configurable initial state (expanded/collapsed), persistent or session-only state via
localStorage, collapsible toggle control, and icons-only mode when collapsed. Zero-flash persistence across SPA navigations vialivewire:navigatingonSwap. - Dark mode -- Toggle in navbar with
localStoragepersistence. Optional toggle on auth pages viadark_mode_show_on_auth. - Localization -- Built-in translations for 10 languages (en, es, fr, pt, zh, hi, ar, bn, ru, ja). Language selector in navbar and auth pages. Sidebar labels support translation keys automatically. See Localization.
- Module system -- Built-in Dashboard, Users and Auth modules. Create custom modules with
panel:make-module. - Widget system -- StatsCard, Chart and RecentTable widgets. Create custom widgets with
panel:make-widget. - Plugin system -- Cross-panel extensions with lifecycle hooks, navigation and widgets.
- Search -- Global search (
Ctrl+K) with pluggable providers and permission filtering. - Notifications -- Polling notification system with count badge and provider interface. See Notifications.
- Gate authorization -- PanelGate with Spatie, Laravel Gate or custom drivers.
- Password reset -- Full forgot-password -> email -> reset-password flow out of the box. Customizable notification class and email template via
panel:make-component forgot-password-notification. - Audit events -- 8 event classes for login, logout, registration, CRUD operations and access denial. See Events.
- Security hardening -- Rate limiting on login (5/60s), CSS injection prevention, SQL wildcard sanitization,
#[Locked]on Livewire properties, locale whitelist inLocaleController. See Security. - Performance -- ETag + HTTP 304 on asset serving, memoization in
PanelGate/PanelRenderer/CdnPluginResolver, O(1) route lookups viabuildRouteMap(), identical query caching inPanelSearch, Octane-safescoped()bindings. - Extensibility --
CdnManagerInterface,ThemeInterface,ModuleInterface,WidgetInterface,NotificationProviderInterface,SearchProviderInterface— all injectable and replaceable via the container. - SPA performance -- CDN and theme scripts use
data-navigate-once(load once, stay in memory). Configurable favicon. Page transitions trigger after Livewire hydration. - Reusable components --
<x-panel::locale-selector />,<x-panel::dark-mode-toggle />,<x-panel::alert />,<x-panel::button />,<x-panel::card />,<x-panel::icon />,<x-panel::portal />.
Testing
./vendor/bin/pest
License
MIT
alp-develop/laravel-livewire-panel 适用场景与选型建议
alp-develop/laravel-livewire-panel 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 36 次下载、GitHub Stars 达 1, 最近一次更新时间为 2026 年 04 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「admin」 「bootstrap」 「panel」 「laravel」 「dashboard」 「tailwind」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 alp-develop/laravel-livewire-panel 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 alp-develop/laravel-livewire-panel 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 alp-develop/laravel-livewire-panel 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
2lenet/EasyAdminPlusBundle
Analysis module for finding problematical shop data.
Yii2 panel widget
Views for the package MedicOneSystems Livewire Datatables with Bootstrap 4
A Laravel Admin Package for The Control Group to make your life easier and steer your project in the right direction
bootstrap select field module implementing http://silviomoreto.github.io/bootstrap-select/
统计信息
- 总下载量: 36
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 41
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-10