Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Foundation Laravel Package

illuminate/foundation

The foundational layer of the Laravel framework, illuminate/foundation supplies the application bootstrap and container setup, service provider and facade registration, HTTP and console kernels, configuration loading, and environment detection used by Laravel applications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

What this package actually is. illuminate/foundation is not an independent library. It is the application kernel and composition root of the Laravel framework: the Application container bootstrapper, the HTTP and Console kernels, the bootstrap-loader pipeline, service-provider registration, exception handling, and the middleware/route plumbing that ties every other illuminate/* component together. It is published as a read-only split from the laravel/framework monorepo. Adopting it is not a dependency decision; it is a platform decision to run Laravel.

Architecture fit. Strong if and only if the target system is a Laravel application or a Laravel-derived product (a first-party package, a starter kit, a multi-tenant SaaS skeleton). In that context the foundation is already present transitively and requires no architectural accommodation. Fit is poor for any of the following: framework-agnostic PHP services, Symfony-based applications (overlapping but incompatible kernel contracts), microservices where a full HTTP kernel and container bootstrap per request is disproportionate, or teams intending to cherry-pick individual illuminate/* components without the framework. The package has no meaningful standalone contract — its public surface assumes the whole framework is co-installed.

Integration feasibility. Effectively "already integrated" for existing Laravel estates: you get it by requiring laravel/framework, and you should not require the split directly. Direct pinning introduces a real hazard — the split repos are build artifacts, versioned in lockstep with the framework, and are not the supported consumption path. Divergence between a directly-required illuminate/foundation and the framework copy resolved by Composer is a class-duplication and autoload-ordering failure waiting to happen. For non-Laravel stacks, feasibility drops to "greenfield rewrite or nothing."

Technical risk.

  • Version lockstep. All illuminate/* packages move together. There is no independent semver for this package; treating it as an independently upgradable dependency is a category error.
  • Internal API churn. Laravel majors routinely reshape the kernel and bootstrap surface (the Laravel 11 slim skeleton moved bootstrap/app.php to a fluent configuration API and relocated middleware/provider registration). Code that subclasses or decorates the kernel is high-churn.
  • Data quality signal is uninformative. Zero stars and zero dependents reflect the split-repo mirror status, not adoption or quality. The real adoption signal is Laravel's install base. Do not use the score as a risk input in either direction.
  • Supply chain / provenance. The authoritative source is laravel/framework under the Laravel organisation. Any assessment should confirm the split is the official mirror and not a lookalike namespace.

Key questions for the requestor and the maintainers.

  1. What problem is being solved — "adopt a foundation layer" or "pin the Laravel kernel"? These have entirely different answers.
  2. Is the broader platform decision to standardise on Laravel already made and approved?
  3. Which Laravel major and PHP minor are targeted, and what is the support window requirement?
  4. Which kernel extension points are actually needed (custom bootstrappers, provider ordering, exception rendering), and do they have stable public APIs?
  5. Is the evaluation driven by a fork or the official split? Confirm provenance and licence.
  6. What is the exit cost if the framework choice is reversed in 24 months?

Integration Approach

Stack fit. Optimal for conventional PHP web applications on LAMP/LEMP or containerised PHP-FPM, and for teams already fluent in Laravel conventions. It is the correct substrate for a productised starter kit, an internal application template, or a package that must behave like a Laravel application. It is a poor fit for event-driven workers, CLI-only tooling, or polyglot service meshes, where the kernel's request lifecycle assumptions add ceremony without payoff.

Migration path. Frame this as three distinct scenarios:

  • Already on Laravel: no migration. Work is governance — pin the framework version, keep the split out of composer.json, and track the framework release train.
  • On another PHP framework: migration is a re-platforming programme (routing, container semantics, ORM, auth, queue, config, testing harness), not a package swap. Budget in quarters, not sprints, and scope a strangler pattern behind a reverse proxy or shared session layer.
  • Greenfield: adopt the current Laravel skeleton; the foundation arrives configured. Effort is onboarding, not migration.

Compatibility. Verify the PHP floor and required extensions against the current runtime fleet, plus database and cache driver support. Check that existing shared libraries (logging, tracing, feature flags, auth providers) have Laravel service providers or adapters; the foundation is where those get wired, so gaps surface immediately at boot.

Sequencing.

  1. Confirm platform decision and supported version matrix (framework major, PHP minor, support window).
  2. Remove any direct illuminate/foundation requirement; resolve through laravel/framework only.
  3. Inventory kernel customisations in the existing codebase (subclassed kernels, custom bootstrappers, provider ordering, exception handler overrides) — these are the migration hot spots.
  4. Land observability and configuration management first (logging, tracing, env/secret loading), since the bootstrap pipeline is the natural seam.
  5. Migrate a single low-risk route or endpoint end-to-end as a reference implementation.
  6. Establish the upgrade cadence and CI matrix before scaling the rollout.

Operational Impact

Maintenance. Maintenance is inherited from the framework release train, not managed by the team. Expect a major upgrade roughly annually with meaningful bootstrap/kernel deltas, plus a continuous stream of patch releases with security content. Plan a standing upgrade budget — commonly a few engineer-weeks per major for a mid-sized application, concentrated in kernel and provider customisations. Framework-level support policy (bug-fix and security windows) should be confirmed from official docs and pinned in the internal support matrix rather than assumed.

Support. Upstream support comes via framework documentation, the Laravel community, and commercial options (Laravel ecosystem support, Forge/Vapor/Cloud). There is no separate support channel for this package; internal teams needing framework-level escalation must buy it at the platform level. Internal support burden concentrates in two areas: bootstrap/config-cache failures and provider wiring, both of which are opaque to developers who have only consumed Laravel, never debugged it.

Scaling. The foundation is per-request bootstrap overhead. Two paths: aggressive config/route/service caching to amortise boot, or long-lived workers (Octane/RoadRunner/Swoole). The latter is a genuinely different operational model — state leakage between requests, singleton lifecycle, and memory growth become live concerns, and any code assuming per-request container freshness will fail intermittently. Horizontal scaling of stateless HTTP is straightforward; scaling is rarely limited by the foundation itself but frequently limited by cache/session/queue choices configured inside it.

Failure modes to plan for.

  • Stale configuration or route cache after deploy → silent behaviour drift; mitigate with cache-clear in the deploy pipeline.
  • Provider ordering or a misbehaving provider → boot failure taking down every route; no graceful degradation.
  • Environment/secret loading faults → partial boot with confusing downstream errors.
  • Exception handler misconfiguration → stack traces or blank 500s leaking to users.
  • Long-lived worker state bleed → non-deterministic, hard-to-reproduce defects.
  • Split-package version drift → Class not found or duplicate-class errors that are expensive to diagnose.

Ramp-up. Near-zero for developers with Laravel experience — they use the foundation implicitly from day one. The gap is explicit knowledge: how the bootstrap loader sequence works, where providers register, how the kernel resolves middleware priority, and how to debug config caching. That knowledge is concentrated in a small number of people on most teams and is the single largest bus-factor risk. Recommend designating one or two kernel owners, documenting the bootstrap pipeline and any customisations, and adding a runbook for boot failures before the first production deploy.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo