awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
symfony avatar

symfony/yaml

0
View on GitHub↗
3,843 stars·133 forks·PHP·MIT·32 viewssymfony.com/yaml↗

Yaml

This project is a PHP library that serves as a configuration file processor, providing a bridge to translate human-readable YAML text into native PHP arrays and objects. It functions as both a parser for converting YAML content into application-ready data structures and a serializer for transforming PHP data back into formatted YAML strings.

The library includes security protections designed to prevent memory exhaustion and stack overflow attacks when processing untrusted documents. It ensures structural integrity through syntax validation and provides a command-line utility to check files for errors and deprecations with text or JSON output.

The system supports custom tag handling for value transformation, binary data processing, and configurable data dumping for multi-line blocks and numeric keys. It also manages application settings and parameters through its parsing and serialization capabilities.

Features

  • Configuration File Processors - Serves as a bridge that translates human-readable YAML files into application-ready PHP data structures.
  • YAML Content Parsers - Converts YAML strings and files into native PHP structures with support for date and binary data.
  • YAML Parsers - Provides a comprehensive library for parsing YAML text into native PHP arrays and objects.
  • YAML Data Serialization - Converts PHP arrays and objects into formatted YAML strings for data exchange and storage.
  • Language-Native Mappings - Transforms YAML structured text directly into native PHP associative arrays and objects.
  • Parsing Depth Limits - Enforces maximum nesting levels during parsing to prevent stack overflow and resource exhaustion attacks.
  • YAML Parser Hardening - Provides hardening measures to prevent resource exhaustion and DoS attacks when processing untrusted YAML documents.
  • YAML Serializers - Implements serialization logic to transform PHP data structures into formatted YAML documents.
  • YAML Data Dumpers - Converts PHP arrays and objects into YAML strings with configurable formatting for blocks and numeric keys.
  • Recursive Descent Parsers - Uses a recursive descent parsing engine to translate YAML token streams into nested data hierarchies.
  • Application Configuration Management - Facilitates the management of application settings and parameters via YAML reading and writing.
  • General YAML Syntax Validation - Checks YAML files for structural errors and deprecations to ensure valid formatting.
  • General YAML Syntax Validators - Includes a command-line utility to validate YAML files for syntax errors and deprecations.
  • YAML Tag Customization - Provides registration and customization of custom YAML tags to map specific value objects during parsing and serialization.
  • Circular Dependency Detectors - Implements reference tracking to block circular dependencies that would otherwise cause memory exhaustion.
  • Markup State Machines - Employs a deterministic state machine to tokenize raw input strings for syntax analysis.

Star history

Star history chart for symfony/yamlStar history chart for symfony/yaml

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does symfony/yaml do?

This project is a PHP library that serves as a configuration file processor, providing a bridge to translate human-readable YAML text into native PHP arrays and objects. It functions as both a parser for converting YAML content into application-ready data structures and a serializer for transforming PHP data back into formatted YAML strings.

What are the main features of symfony/yaml?

The main features of symfony/yaml are: Configuration File Processors, YAML Content Parsers, YAML Parsers, YAML Data Serialization, Language-Native Mappings, Parsing Depth Limits, YAML Parser Hardening, YAML Serializers.

Which projects share features with symfony/yaml?

Projects with overlapping indexed features include: nodeca/js-yaml — js-yaml is a JavaScript library providing a programmatic interface for parsing and dumping YAML data. It functions as… jeremyfa/yaml.js — This library provides a parser and encoder for YAML 1.2 data structures, enabling the transformation of human-readable… goccy/go-yaml — This library is a Go-based utility for encoding and decoding YAML data into native language structures. It facilitates… jbeder/yaml-cpp — yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing… aaubry/yamldotnet — YamlDotNet is a YAML serialization library and data mapping tool for .NET. It functions as a parser and generator that… dtolnay/serde-yaml — Serde-yaml is a serialization library for the Rust programming language that facilitates the conversion of complex…

Projects sharing features with Yaml

These projects share indexed features with Yaml. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nodeca/js-yamlnodeca avatar

    nodeca/js-yaml

    6,591View on GitHub↗

    js-yaml is a JavaScript library providing a programmatic interface for parsing and dumping YAML data. It functions as a parser and serializer that converts YAML strings into JavaScript objects and transforms JavaScript objects back into YAML format. The library includes a command-line interface for parsing or dumping YAML data via direct input or data pipes. It also features an abstract syntax tree transformer to modify the structure of data during serialization. The project provides capabilities for multi-document processing and the definition of custom schemas and tags to handle specialize

    JavaScript
    View on GitHub↗6,591
  • jeremyfa/yaml.jsjeremyfa avatar

    jeremyfa/yaml.js

    886View on GitHub↗

    This library provides a parser and encoder for YAML 1.2 data structures, enabling the transformation of human-readable YAML strings into native JavaScript objects and arrays. It is designed to function as a cross-platform utility, ensuring consistent data processing across both server-side runtimes and client-side browser environments. Beyond its core library functionality, the project includes a command-line interface for automating data conversion tasks. This utility supports bidirectional transformation between YAML and JSON formats, allowing for the programmatic manipulation and exchange

    CoffeeScriptjavascriptjsonjson2yaml
    View on GitHub↗886
  • goccy/go-yamlgoccy avatar

    goccy/go-yaml

    2,189View on GitHub↗

    This library is a Go-based utility for encoding and decoding YAML data into native language structures. It facilitates the transformation of complex objects into human-readable text formats and provides mechanisms for mapping data fields through reflection and custom type handling. The library distinguishes itself by maintaining an intermediate abstract syntax tree, which allows for precise document modifications and the preservation of comments during serialization. It includes a path-based query engine that enables users to navigate, filter, and update document hierarchies without manual it

    Gogogolanggolang-library
    View on GitHub↗2,189
  • jbeder/yaml-cppjbeder avatar

    jbeder/yaml-cpp

    5,931View on GitHub↗

    yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing pipeline, from reading YAML content into a traversable node tree to writing in-memory data structures back as YAML text. The library represents parsed YAML as a mutable tree of typed nodes, supporting scalars, sequences, maps, and aliases. It uses a recursive-descent parser to build this node tree, and a stream-based emitter to generate YAML output incrementally. Template-based type conversion enables compile-time serialization between YAML nodes and C++ types, including support for c

    C++
    View on GitHub↗5,931
  • Compare all 30 related projects→