multek/laravel-feedback
最新稳定版本:v1.0.0
Composer 安装命令:
composer require multek/laravel-feedback
包简介
Headless, customizable user feedback collection for Laravel with flexible metadata
README 文档
README
A headless, customizable user feedback collection package for Laravel with a flexible metadata JSON column.
Installation
composer require multek/laravel-feedback
Publish the config and migration:
php artisan vendor:publish --tag=feedback-config php artisan vendor:publish --tag=feedback-migrations php artisan migrate
Usage
Via Facade
use Multek\LaravelFeedback\Facades\Feedback; // Create feedback $feedback = Feedback::create([ 'type' => 'bug', 'content' => 'The button does not work', 'user_id' => auth()->id(), 'metadata' => [ 'browser' => 'Chrome 120', 'page_url' => 'https://app.com/dashboard', ], ]); // Query feedback $bugs = Feedback::ofType('bug')->get(); $userFeedback = Feedback::forUser($user)->get(); $recent = Feedback::query()->recent(7)->get();
Via HasFeedback Trait
Add the trait to your User model:
use Multek\LaravelFeedback\Traits\HasFeedback; class User extends Authenticatable { use HasFeedback; }
Then use it:
$user->submitFeedback([ 'type' => 'feature', 'content' => 'Please add dark mode', 'metadata' => ['priority' => 'high'], ]); $user->feedbacks; // Collection of user's feedback
Via API (Optional)
Enable routes in config/feedback.php:
'route' => [ 'enabled' => true, 'prefix' => 'api/feedback', 'middleware' => ['api', 'auth:sanctum'], ],
Endpoints:
POST /api/feedback— Submit feedbackGET /api/feedback— List feedback (supports?type=filter, paginated)
Events
FeedbackReceived is dispatched on every feedback creation:
use Multek\LaravelFeedback\Events\FeedbackReceived; class SendSlackNotification { public function handle(FeedbackReceived $event): void { // $event->feedback } }
Metadata Validation
Optionally enforce metadata structure in config/feedback.php:
'metadata' => [ 'validation' => [ 'browser' => 'required|string', 'page_url' => 'sometimes|url', ], ],
Configuration
| Key | Default | Description |
|---|---|---|
user_model |
App\Models\User::class |
User model class |
table_name |
feedbacks |
Database table name |
route.enabled |
false |
Enable API routes |
route.prefix |
api/feedback |
Route prefix |
route.middleware |
['api', 'auth:sanctum'] |
Route middleware |
metadata.validation |
[] |
Metadata validation rules |
License
MIT
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-01