graham-campbell/core-api
Core API provides a lightweight foundation for building APIs in Laravel, offering reusable interfaces, traits and helpers that keep endpoint development consistent, structured and easy to extend.
graham-campbell/core-api appears in a Laravel 4.1/4.2 codebase, it is a verifiable marker that the service runs on a runtime (PHP 5.x, Laravel 4.x) with no security support since 2018. That elevates the question from "should we fix this bug" to "should this service still exist in its current form" — a portfolio-level call, not a ticket.GrahamDeprecated org with zero stars, zero dependents, and no maintainer. There is no procurement, license negotiation, or vendor evaluation to run. Close the evaluation and move on.Consider it only as an inventory item, never as a dependency choice.
Look elsewhere — specifically, do not adopt — when:
illuminate/* 4.x constraints; there is no tagged compatible release and no maintainer to produce one.Http facade or Guzzle 7 would work — which is everywhere. The realistic replacement is 50–150 lines of code behind an interface you own.To executives: We found a deprecated Laravel 4.x package in our dependency inventory. It is an abandoned artifact — archived under an explicit deprecation organization, zero adoption, no maintainer, no security response process — sitting on a PHP runtime with no security support since 2018. It should not appear in any roadmap commitment. The recommended action is a small, bounded remediation: reimplement its handful of HTTP calls as first-party code and delete the dependency. Estimated effort is a few engineer-days, not a multi-sprint project, and it removes a standing audit and diligence finding.
To engineering leadership: Treat this as legacy-only and reference-only. If it appears in a codebase, scope its removal as part of the Laravel upgrade rather than investing in extending or standardizing on it. The migration is mechanical: extract endpoints, auth headers, and error handling from the source; wrap a new client behind an interface we own so no call site sees the transport; add timeouts, retries, logging, and alerting; then delete the dependency. Two operational guardrails in the interim — mirror the repo internally and pin exact versions with a committed lockfile, because the Packagist entry can disappear and take reproducible builds with it.
To the team / framing: The pitch is not "adopt this package." It is "we have a concrete, cheap, well-scoped piece of dependency hygiene that also unblocks modern infrastructure." Avoid framing it as a rewrite of business functionality — it is a contained replacement of transport plumbing, and the real deliverable is a documented API contract we own instead of one buried in abandoned code. The layering pattern the package encodes (facade → service → domain, vendor quirks confined to a subclass, transport hidden behind an interface) is worth keeping; the implementation is not. Frame the outcome as "we keep the good idea and drop the artifact."
How can I help you explore Laravel packages today?