marko/core
marko/core is the foundational package for the Marko PHP framework, providing core services, dependency injection, configuration, and shared utilities. It supplies the essential abstractions and bootstrapping needed to build modular, Laravel-style applications and supporting packages.
This is not a Laravel package. marko/core is the core of the Marko PHP framework — a standalone framework that predates or competes with Laravel's conventions rather than extending them. There is no service provider to register in config/app.php, no composer require that will "just work" inside an existing Laravel app, and no facade namespace that resolves against Laravel's container.
Minimal steps to actually get your hands on it:
marko/core is a READ-ONLY subtree split of https://github.com/marko-php/marko. Issues, docs, examples, and PRs all live there. The core package alone has almost no runnable documentation.Container-style interfaces.marko-php/marko), not the split core. The first real use case is scaffolding a Marko application and seeing how the core boots a kernel, registers providers, and resolves bindings — then comparing that mental model against Laravel's.First practical use case: treat marko/core as a reference implementation of framework internals (container, provider lifecycle, kernel handling). The realistic day-to-day leverage for a Laravel developer is architectural study, not production dependency.
Assume you are inside a Marko application, not Laravel. The core package supplies the framework's foundation — container, kernel, service-provider contract, and supporting utilities — and your application code consumes it indirectly through the skeleton.
Typical patterns you will encounter:
public/index.php magic from Laravel to hide the sequence — useful when you want to understand exactly when providers register() versus boot().marko/core to the same release as the parent marko/marko framework. The split package is generated at release time, so mismatching minor versions is the fastest route to "why does this method not exist."marko/core (a leaner container, a simpler provider lifecycle) is genuinely better for a Laravel problem, port the idea into a Laravel service provider — do not try to bridge the two containers.marko-php/marko-core will be closed. All fixes and feature requests belong in the monorepo. Budget time for a fork-and-split if you need a patched version.boot() that assumes a binding from another provider will fail silently or late. Register foundational providers first.marko-php/marko when tracing an error.How can I help you explore Laravel packages today?