datalogix / laravel-sensible
Laravel Sensible is a lightweight utility package for applying smart defaults and common best practices in everyday Laravel development.
Fund package maintenance!
ricardogobbosouza
Open Collective
Requires
- php: ^8.2
- illuminate/database: ^11.39|^12.0
- illuminate/support: ^11.39|^12.0
- illuminate/validation: ^11.39|^12.0
Requires (Dev)
- graham-campbell/testbench: ^6.2
- phpunit/phpunit: ^10.5|^11.0
README
Laravel Sensible is a lightweight utility package for applying smart defaults and common best practices in everyday Laravel development.
Installation
You can install the package via composer:
composer require datalogix/laravel-sensible
The package will automatically register itself.
Features
All features are optional and fully configurable via config/sensible.php
:
- 🚀 Asset Prefetching – Preload assets for faster load times.
- ⚡️ Auto Eager Loading – Avoid N+1 queries automatically.
- 😴 Fake Sleep – Mocks the delay function in tests, preventing real delays.
- 🔒 Force HTTPS – Enforce secure
https://
URLs. - 🕒 Immutable Dates – Prevent unexpected date mutations.
- 🔄 Prevent Stray Requests – Block unmocked HTTP requests.
- 🛑 Safe Console – Block dangerous Artisan commands.
- 🔑 Set Default Password - Enforce strong password policies.
- ✅ Strict Models – Enforce strict model behavior.
- 🔓 Optional Unguarded Models – Disable mass-assignment protection.
Configuration
You can publish the config file using the command:
php artisan vendor:publish --provider="Datalogix\Sensible\SensibleServiceProvider" --tag="config"
This will create a config/sensible.php
file where you can enable or disable individual features:`
// config/sensible.php return [ \Datalogix\Sensible\Configurables\Unguard::class => false, // other configurables... ];
By default, most features are enabled. Simply set any option to false
to disable it.