# Configs

**Package:** Laravel Modules | **Version:** 3 | **URL:** https://mozex.dev/docs/laravel-modules/v3/features/configs

---

## Overview

Auto-discovers module config files and merges them into Laravel's configuration at boot time (when config is not cached). The merging order is configurable via the `priority` option.

## What gets discovered

- PHP files matching configured patterns (default: `*/Config/*.php`)
- Each file's base filename becomes the config key: `Modules/Blog/Config/blog.php` → `config('blog.*')`

## Default configuration

```php
'configs' => [
    'active' => true,
    'patterns' => [
        '*/Config/*.php',
    ],
    'priority' => true,
],
```

## Merging strategy

**Important**: Merging only runs when Laravel configuration is **not** cached. In production with `php artisan config:cache`, module configs are merged at cache-build time. Always rebuild the cache after changing module configs.

- `priority: true` (default): `array_merge(app_config, module_config)` — module values win
- `priority: false`: `array_merge(module_config, app_config)` — app values win, modules provide defaults

### Example

Given `config/app.php` with `'feature' => ['enabled' => false, 'limit' => 10]` and `Modules/Shop/Config/app.php` returning `['feature' => ['enabled' => true]]`:

- With `priority: true`: `config('app.feature.enabled')` → `true`, `config('app.feature.limit')` → `10`

## Directory layout

```
Modules/Blog/
└── Config/
    └── blog.php          // config('blog.*')

Modules/Shop/
└── Config/
    └── app.php           // merged with Laravel's config/app.php
```

## Configuration

- Set `'configs.active' => false` to disable merging.
- Edit `'configs.patterns'` to change discovery directories.
- Set `'configs.priority'` to control merge direction.

## Troubleshooting

- **Values not updating**: clear config cache (`php artisan config:clear`).
- **Wrong key**: the filename is the key — `blog.php` → `config('blog.*')`.

---

## Table of Contents

- [Introduction](https://mozex.dev/docs/laravel-modules/v3)
- [Support Us](https://mozex.dev/docs/laravel-modules/v3/support-us)
- [Requirements](https://mozex.dev/docs/laravel-modules/v3/requirements)
- [Changelog](https://mozex.dev/docs/laravel-modules/v3/changelog)
- [Contributing](https://mozex.dev/docs/laravel-modules/v3/contributing)
- [Questions & Issues](https://mozex.dev/docs/laravel-modules/v3/questions-and-issues)
- [About Mozex](https://mozex.dev/docs/laravel-modules/v3/about)

### Features

- [Blade Components](https://mozex.dev/docs/laravel-modules/v3/features/blade-components)
- [Views](https://mozex.dev/docs/laravel-modules/v3/features/views)
- [Routes](https://mozex.dev/docs/laravel-modules/v3/features/routes)
- [Configs](https://mozex.dev/docs/laravel-modules/v3/features/configs)
- [Migrations](https://mozex.dev/docs/laravel-modules/v3/features/migrations)
- [Seeders](https://mozex.dev/docs/laravel-modules/v3/features/seeders)
- [Commands](https://mozex.dev/docs/laravel-modules/v3/features/commands)
- [Helpers](https://mozex.dev/docs/laravel-modules/v3/features/helpers)
- [Models & Factories](https://mozex.dev/docs/laravel-modules/v3/features/models-factories)
- [Policies](https://mozex.dev/docs/laravel-modules/v3/features/policies)
- [Events & Listeners](https://mozex.dev/docs/laravel-modules/v3/features/events-listeners)
- [Service Providers](https://mozex.dev/docs/laravel-modules/v3/features/service-providers)
- [Translations](https://mozex.dev/docs/laravel-modules/v3/features/translations)
- [Caching](https://mozex.dev/docs/laravel-modules/v3/features/caching)
- [Listing Modules](https://mozex.dev/docs/laravel-modules/v3/features/listing)
- [Livewire Components](https://mozex.dev/docs/laravel-modules/v3/features/livewire-components)
- [Filament](https://mozex.dev/docs/laravel-modules/v3/features/filament)
- [Nova Resources](https://mozex.dev/docs/laravel-modules/v3/features/nova-resources)

### Integrations

- [PHPStan](https://mozex.dev/docs/laravel-modules/v3/integrations/phpstan)
- [PHPUnit](https://mozex.dev/docs/laravel-modules/v3/integrations/phpunit)
- [Pest](https://mozex.dev/docs/laravel-modules/v3/integrations/pest)