How inerba/filament-db-config works
DB Config is a Laravel/Filament plugin for editing grouped settings and content, persisting values as JSON, and retrieving them through helpers or Blade. The main workflow is an administrator editing and saving a generated Filament settings page, followed by application code reading the values. The README also documents widgets, flexible Filament form components, and caching. Some internals are represented from documentation and the file tree because their source was not sampled.
Main entry points: DbConfig.php DB Config API · DbConfigCommand.php Page generator · AbstractPageSettings.php Settings page · DbConfigServiceProvider.php Package provider
Components 17
Admin editing
- Settings page
src/AbstractPageSettings.php - Settings widget
src/AbstractWidgetSettings.php - Filament form fields
- Page generator
src/Commands/DbConfigCommand.php - Generated page class
stubs/page.stub
Settings runtime
- Settings lifecycle
src/DbConfigTrait.php - DB Config API
src/DbConfig.php - PHP helpers
src/helpers.php - Facade
src/Facades/DbConfig.php
Persistence and cache
- Table migration
database/migrations/create_db_config_table.php.stub - Settings table
- Settings cache
Laravel integration
- Blade directive
src/DbConfigServiceProvider.php - Package provider
src/DbConfigServiceProvider.php
Other components
- Administrator
- Laravel application
- Filament admin
Connections 18
- Administrator → Filament admin: edits settings
- Filament admin → Settings page: hosts page
- Settings page → Filament form fields: renders fields
- Settings page → Settings lifecycle: uses lifecycle
- Settings lifecycle → DB Config API: saves and loads
- Administrator → Page generator: requests page
- Page generator → Generated page class: renders stub
- Page generator → Laravel application: writes class
- Package provider → Page generator: registers command
- Package provider → Blade directive: registers directive
- Blade directive → DB Config API: calls get
- Laravel application → PHP helpers: reads and writes
- PHP helpers → DB Config API: delegates access
- Facade → DB Config API: resolves API
- DB Config API → Settings table: reads and writes JSON
- DB Config API → Settings cache: caches values
- Table migration → Settings table: creates table
- Settings widget → DB Config API: manages settings