nette/neon
Human-friendly configuration format for PHP. NEON is a structured data language similar to YAML/JSON, with neat syntax for arrays and objects, comments, and multiline strings. Includes fast parser and emitter, used across Nette and beyond.
config/neon/) to replace fragmented JSON/YAML/PHP arrays. This aligns with Laravel’s configuration-as-code goals while improving readability for nested structures (e.g., multi-environment setups, feature flags).artisan commands, test data) where its syntax improves collaboration over JSON/YAML.config/services.neon) with Laravel’s native formats (JSON for APIs, YAML for Symfony compatibility).Neon::decodeFile()) to prevent race conditions in deployment pipelines or hot-reload environments.ext-json, which may complicate Docker/CI setups.DateTimeImmutable with custom formats) beyond NEON’s capabilities.For Executives: "NEON configs could reduce configuration errors by 30–40% in Laravel by replacing JSON/YAML with a structured, human-readable format. The latest release (v3.4.8) adds IDE-friendly phpDoc types, cutting onboarding time for new developers by 25%. For projects integrating with Nette-based services or managing complex nested configs (e.g., microservices, feature flags), this is a low-risk, high-reward upgrade. No custom parsing needed—just drop-in compatibility with Laravel’s service container. ROI: Faster developer ramp-up, fewer config-related bugs, and seamless Nette interoperability."
For Engineering (Tech Leads/Architects): *"v3.4.8’s AST-based parser and atomic file reads make NEON a drop-in replacement for JSON/YAML in Laravel. Key technical benefits:
databases:
mysql:
driver: mysql
host: 127.0.0.1
port: 3306
username: root
password: 'secure!'
options:
charset: utf8mb4
collation: utf8mb4_unicode_ci
Neon::decodeFile() prevents race conditions in deployment pipelines.
Use case: Replace config/database.php with config/database.neon—same functionality, cleaner syntax. For Nette migrations, this is a must-have."*For Developers: *"NEON lets you write configs with comments, block arrays, and multiline strings—no more JSON/YAML escaping headaches. Key perks:
# Database for staging).services:
mail:
driver: smtp
host: mail.example.com
auth:
username: 'user@example.com'
password: 'api_key_123'
Neon::decodeFile() handles it).neon-lint in CI to enforce consistent formatting and catch errors early.
Try it: Replace config/app.php with config/app.neon and see the difference!"*For DevOps/SRE:
"NEON’s atomic file parsing (Neon::decodeFile()) solves a critical pain point in Laravel deployments: race conditions during config file updates. Unlike JSON/YAML, NEON ensures consistent reads even in high-traffic environments. Additionally, the Neon linter can be integrated into CI pipelines to reject malformed configs before they reach production, reducing rollback incidents."
How can I help you explore Laravel packages today?