orchestra/support-facades
A Laravel package that provides facades for Orchestra Support, offering clean static access to shared support services and helpers. It helps Orchestra Platform applications use familiar facade syntax while keeping code expressive and dependencies organized.
What it is, in product terms. orchestra/support-facades is not a capability — it is a convention packaged as a dependency. It ships reusable facade base classes, container-backed accessors, and a registration/aliasing helper so that Orchestra-family packages can expose services through static syntax. The TPM framing follows directly: the question is never "what does it do," it is "is a few dozen lines of boilerplate avoidance worth a permanent row in our upgrade matrix, a supply-chain review per release, and a named owner in the dependency inventory?"
Architecture fit. Narrow and conditional:
Integration feasibility. Install and wiring are trivial — Composer require, alias, done. The real feasibility risk is organisational: each added package buys a recurring upgrade obligation, and here the thing being bought is small enough that "write it ourselves" is a genuinely competitive option. That belongs in the build-vs-buy record, not assumed away.
Technical risk — elevated for a package this small, for signal reasons more than code reasons:
Key questions to close before a decision:
orchestra/* packages, not adoption.Stack fit. Adopt only where the stack already implies it: Laravel 9+ (realistically 10/11/12), PHP 8.1+, Composer 2, in an Orchestra package or platform context. Plain Laravel applications should default to "do not adopt" and write a thin internal adapter if facade-style access is genuinely wanted. Laravel 8 estates are out of scope for v7 entirely.
Build vs. buy — the decision that matters most. "Buy" carries no licence fee but a recurring cost: one upgrade ticket per Laravel major, one security review per release, one owner in the inventory. "Build" is a one-off small effort with full control. For this scope the honest recommendation is build — unless we are already inside the Orchestra ecosystem, where cross-package consistency outweighs the overhead. "It's free on Packagist" is not a substitute for this analysis.
Migration path (existing adopters). Treat v7.0.0 as a planned major, not a patch:
illuminate/* and Symfony constraints against the lockfile.Compatibility. Verify three layers before rollout: Laravel version, PHP version, and transitive constraints against packages that extend Laravel internals (admin panels, auth extensions, queue/cache drivers, test utilities). Because facade bases are designed to be subclassed downstream, check whether any of our own code extends them — subclassed bases are the likeliest silent break.
Sequencing.
Maintenance. Low code churn, non-zero process overhead. The recurring obligation is a per-Laravel-major upgrade plus a dependency review, and it exists whether or not the package changes. Assign a named owner, add it to the dependency inventory with a support-matrix note, and put Laravel end-of-life dates on a calendar review. Standardising on the package minimum (Laravel 9) is an explicit debt-creation decision and should be rejected in the plan.
Support. Support quality cannot be inferred from a release note, and with zero dependents there is no community safety net. Plan for self-support: our engineers debug issues, and an internal fork or vendored copy is a realistic and cheap contingency given the surface area. Confirm maintainer responsiveness and the security-disclosure route before putting it on a critical path.
Scaling. No performance or throughput concern is implied — resolution is container lookup. The scaling risk is organisational: more applications, more Laravel versions, and mixed package majors multiply upgrade coordination cost. Mitigate by narrowing to one supported Laravel band and one package major across the estate, and by keeping facade usage behind internal adapters so call-site count stays bounded.
Failure modes to plan for.
illuminate/* and Symfony constraints.Ramp-up. Engineering ramp-up is a few hours, not a training programme: a facade is familiar Laravel idiom, and the package only standardises the base class. The real on-ramp is process, not knowledge — engineers need the written convention for when a facade is appropriate versus constructor injection, the aliasing/registration pattern, and the test strategy for static call sites. Budget the effort on the review side: dependency policy sign-off, licence and supply-chain check, and a documented build-vs-buy decision. Expect no external documentation, tutorials, or community answers to lean on; internal notes are the support corpus. For a pilot, one engineer for a day covers integration plus a call-site inventory; broad standardisation should wait on that pilot's findings and on confirming the package tracks a Laravel version we actually support.
How can I help you explore Laravel packages today?