{"repo":"chamber-orchestra/view-bundle","free":true,"listed":false,"github":"https://github.com/chamber-orchestra/view-bundle","clone":"git clone https://github.com/chamber-orchestra/view-bundle.git","description":"Symfony bundle providing a typed view layer for JSON API responses — automatic property binding, collection mapping, null stripping, and build-time cache warming for PHP 8.5+","language":"PHP","stars":226,"topics":["json","symfony","symfony-bundle","doctrine","json-api","php","php8","property-binding","rest-api","serialization"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"ChamberOrchestra View Bundle A Symfony bundle that provides a typed view layer for JSON API responses . Define response shapes as PHP classes, return them from controllers, and let the bundle handle serialization automatically — no manual JsonResponse construction needed. Built for Symfony 8.0 and PHP 8.5+ , the bundle eliminates boilerplate in REST API controllers by introducing view models with automatic property binding, collection mapping, and production-ready cache warming. Key Features - Typed view models — define JSON response structures as PHP classes with typed properties - Automatic property binding — BindView maps domain object properties to view properties via reflection - Collection mapping — IterableView transforms arrays and iterables with typed element views - Null stripping — null values are automatically excluded from serialized JSON output - Build-time cache warming — pre-computed metadata and property mappings eliminate reflection overhead in production - Build-versioned caching — cache files are tied to container.build id for zero-downtime deployments - Doctrine proxy support — transparent lazy-load initialization before property access Requirements - PHP 8.5+ - Symfony 8.0 components (http-kernel, serializer, property-access, dependency-injection, config, framework-bundle) - doctrine/common ^3.5 Installation Enable the bundle in config/bundles.php : Quick Start Define a view model that maps properties from a domain object: Return the view from a controll","default_branch":null,"files":null,"tree":[],"storefront":"/r/chamber-orchestra","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/chamber-orchestra/view-bundle/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}