petersowah / laravel-bulk-policies
Generate policies for all existing models in one go.
Fund package maintenance!
Peter Sowah
Requires
- php: ^8.3
- illuminate/contracts: ^10.0||^11.0||^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9||^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0.0||^9.0.0||^8.22.0
- pestphp/pest: ^2.0||^3.0
- pestphp/pest-plugin-arch: ^2.5||^3.0
- pestphp/pest-plugin-laravel: ^2.0||^3.0
- phpstan/extension-installer: ^1.3||^2.0
- phpstan/phpstan-deprecation-rules: ^1.1||^2.0
- phpstan/phpstan-phpunit: ^1.3||^2.0
README
This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.
Installation
You can install the package via composer:
composer require petersowah/laravel-bulk-policies
Usage
Generate Policies for All Models
To generate policies for all Eloquent models in your application, run:
php artisan make:bulk-policies
This command will:
- Scan both
app/Models
andapp
for all Eloquent models (following Laravel conventions). - Generate a policy in
app/Policies
for each model that does not already have one. - Each generated policy will have the correct
App\Policies
namespace. - Skip any models that already have a corresponding policy.
Example output:
Discovered models:
- App\Models\User
- App\Models\Post
---
Created policies:
- UserPolicy
- PostPolicy
Skipped (already exist):
- CommentPolicy
Note: This package is convention-driven and does not require or support custom configuration for model or policy paths. It always follows Laravel's default structure for models and policies.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.