Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Config Laravel Package

league/config

Define and validate nested PHP configuration with strict schemas (via Nette Schema). Merge multiple config sources, apply defaults, enforce types/constraints, and read values using convenient dot notation. Ideal for robust, structured app and library config.

View on GitHub
Deep Wiki
Context7

layout: default title: Philosophy description: This library takes a highly-opinionated approach that fills a gap in the existing config library landscape

Philosophy

There are lots of great configuration libraries out there, each one serving a slightly different purpose. As a result, this library aims to satisfy a particular niche not being served well by others by taking a simple yet opinionated approach to configuration with the following goals:

  • The configuration should operate on arrays with nested values which are easily accessible
  • The configuration structure should be defined with strict schemas defining the overall structure, allowed types, and allowed values
  • Schemas should be defined using a simple, fluent interface
  • You should be able to add and combine schemas but never modify existing ones
  • Both the configuration values and the schema should be defined and managed with PHP code
  • Schemas should be immutable; they should never change once they are set
  • Configuration values should never define or influence the schemas

As a result, this library will likely never support features like:

  • Loading and/or exporting configuration values or schemas using YAML, XML, or other files
    • You can still implement this yourself, if needed
  • Parsing configuration values from a command line or other user interface
  • Dynamically changing the schema, allowed values, or default values based on other configuration values

If you need that functionality you should check out other great libraries like:

Dependencies

To help facilitate this approach, we heavily rely on the following two open-source libraries under-the-hood:

These were chosen specifically for being minimal, well-written, and unlikely to conflict with other dependencies you might have installed.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
croct/coding-standard
croct/plug-php
nqxcode/phpmorphy
boundwize/pyrameter
testo/facade
develia/commons
dmstr/symfony-system-resources-bundle
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
renatomarinho/laravel-page-speed
develia/geo-bundle
austinheap/laravel-database-encryption
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
imbo/imbo-coding-standard
visualbuilder/filament-lottie
servicioslineaonce/starter-kit
atomcoder/laravel-reorderable
irajul/filament-shadcn-theme