php-ecosystem-reference · git:20260729.3b91eed · 2026-07-29 · sha256 4a3c0718e2e9ea90
php-ecosystem-reference git:20260729.3b91eedA
Immutable. This exact content is served forever at /api/v1/blob/4a3c0718e2e9ea90.
--- name: php-ecosystem-reference description: Use when picking a non-Laravel PHP tool — Symfony components, API Platform, or Slim — and routing to implementation. Do NOT use for Laravel (laravel-expert). versions: api-platform: "4.3" slim: "4.15" user-invocable: true references: references/symfony-components.md, references/api-platform.md, references/slim-framework.md, references/boundaries.md related-skills: php-http-psr, solid-php --- <objective> This is a routing/orientation map for the non-Laravel PHP framework ecosystem, not an implementation guide. It answers "which tool fits this problem, and where do I go next?" for three areas: standalone Symfony components (Console, Process, HttpFoundation, EventDispatcher, Validator, Serializer) usable via Composer outside any framework, API Platform 4.3 (API-first on Symfony), and the Slim 4.15 micro-framework. It does not carry deep, version-specific how-to knowledge for Symfony full-stack, API Platform, or Slim — for implementation details it hands off to the research-expert agent and to [[php-http-psr]] for framework-agnostic HTTP. Laravel is entirely out of scope — any Laravel task routes to the laravel-expert agent. Deep Symfony full-stack work has no dedicated expert in this ecosystem; this skill's job is to flag that gap explicitly to the user rather than improvise. </objective> # PHP Ecosystem Reference (Orientation) ## Scope (read this first) This skill is a **routing / orientation map**, NOT an implementation expert. It answers "which tool fits this problem, and where do I go next?" It does **not** carry deep, version-specific how-to knowledge for Symfony full-stack, API Platform, or Slim. For actual implementation: - **Laravel** → route to the `laravel-expert` agent (out of scope here). - **Framework-agnostic HTTP (PSR-7/15/17/18)** → use [[php-http-psr]]. - **Deep Symfony full-stack** → there is **no dedicated expert agent**; flag this to the user (see [boundaries.md](references/boundaries.md)). ## Agent Workflow (MANDATORY) Before relying on any detail here, use `TeamCreate` to spawn 2 agents: 1. **fuse-ai-pilot:research-expert** - Verify current versions/APIs on symfony.com, api-platform.com, slimframework.com 2. **fuse-ai-pilot:explore-codebase** - Detect which of these are already in composer.json This skill orients; the research agent supplies verified specifics before any code. --- ## Overview | Area | What it is | Reference | |------|-----------|-----------| | **Symfony Components** | Decoupled PHP libraries, each installable standalone via Composer — no full framework needed | [symfony-components.md](references/symfony-components.md) | | **API Platform 4.3** | API-first framework built on Symfony (REST, GraphQL, OpenAPI from resource classes) | [api-platform.md](references/api-platform.md) | | **Slim 4.15** | PSR-7/PSR-15 micro-framework for small APIs and services | [slim-framework.md](references/slim-framework.md) | | **Boundaries** | Where this skill stops and who to route to | [boundaries.md](references/boundaries.md) | --- ## Critical Rules 1. **Orientation only** - Never present ecosystem details as authoritative; the research agent verifies before code. 2. **Standalone ≠ framework** - Symfony components run WITHOUT the Symfony framework; `composer require symfony/console` is enough. 3. **HttpFoundation is not PSR-7** - Symfony's HTTP model differs from PSR-7; bridge via `symfony/psr-http-message-bridge` ([[php-http-psr]]). 4. **Laravel is out of scope** - Any Laravel task routes to `laravel-expert`. 5. **No deep Symfony expert exists** - For full-stack Symfony depth, tell the user explicitly rather than improvising. --- ## Reference Guide ### Concepts | Topic | Reference | When to Consult | |-------|-----------|-----------------| | **Symfony Components** | [symfony-components.md](references/symfony-components.md) | Picking a standalone library (CLI, process, events, validation…) | | **API Platform** | [api-platform.md](references/api-platform.md) | Building an API-first app on Symfony | | **Slim** | [slim-framework.md](references/slim-framework.md) | Small PSR-based micro-service or API | | **Boundaries** | [boundaries.md](references/boundaries.md) | Deciding whether to route elsewhere | --- ## Quick Reference ### Install a standalone Symfony component ```bash composer require symfony/console # CLI apps composer require symfony/process # run sub-processes composer require symfony/event-dispatcher composer require symfony/validator composer require symfony/serializer ``` ### Decision shortcut | Need | Route to | |------|----------| | Full Laravel app | `laravel-expert` agent | | Framework-agnostic HTTP messages/middleware | [[php-http-psr]] | | One utility (CLI, events, validation) without a framework | Symfony component, see [symfony-components.md](references/symfony-components.md) | | API-first product on Symfony | API Platform, see [api-platform.md](references/api-platform.md) | | Tiny PSR-7 API/service | Slim, see [slim-framework.md](references/slim-framework.md) | | Deep Symfony full-stack MVC | No expert — flag to user ([boundaries.md](references/boundaries.md)) | --- ## Best Practices ### DO - Use this map to choose a direction, then hand off to the research agent for specifics - Prefer a single standalone component over a full framework for a narrow need - State clearly when a task falls outside any available expert ### DON'T - Present version-specific API details from here as verified — they are orientation - Attempt deep Laravel or deep Symfony full-stack work under this skill - Assume Symfony HttpFoundation and PSR-7 are interchangeable