The foundation of Marko---provides dependency injection, modules, plugins, events, and preferences so you can extend any class without modifying its source.
composer require marko/coreMost applications install this via marko/framework.
use Marko\Core\Attributes\Preference;
#[Preference(replaces: OriginalService::class)]
class MyService extends OriginalService
{
public function doSomething(): string
{
return 'custom behavior';
}
}Full usage, API reference, and examples: marko/core