Beartropy Logo

Stop Hardcoding: Manage Dynamic Configuration with Beartropy Settings

Move your configuration from static files to the database. Learn how Beartropy Settings handles type casting and caching for dynamic app preferences.

Guides • 01 Jan, 2026 • Beartropy Team

In a standard Laravel application, configuration typically lives in static config/*.php files. Changing a setting usually means changing code and re-deploying.

But what if your admin users need to toggle 'Maintenance Mode' or change the 'Support Email' on the fly?

The Migration Fatigue

The alternative is often adding columns to a database table. Want a new 'Dark Mode' preference? Create a migration. Add a column. Update the model. It's slow and rigid.

The Dynamic Solution

Beartropy Settings acts as a strongly-typed key-value store that lives in your database but acts like a config file.

Because the package stores the type of the setting (string, boolean, integer, etc.), you get back exactly what you stored, not just a string representation.

Usage Example

Storing a value is intuitive. You don't need to worry about serialization:

1// Storing a boolean
2settings()->set('site.registration_open', true);
3 
4// Storing an array (automatically json_encoded)
5settings()->set('site.social_links', ['twitter' => '@beartropy', 'github' => 'beartropy']);

Retrieving it is just as easy, and the types are preserved:

1if (settings('site.registration_open')) {
2 // This evaluates as a real boolean, not string "1" or "true"
3 return view('auth.register');
4}

Cache Friendly

Database queries for settings can hurt performance. Beartropy Settings automatically caches your configuration, ensuring that subsequent calls to settings() have zero database impact until a value is updated.

Give your application the flexibility it deserves without the deployment headaches.

Tags

#laravel #beartropy #settings #configuration

Comments

Leave a comment

0

No comments yet. Be the first to share your thoughts!

Share this post