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

Core Bundle Laravel Package

coolms/core-bundle

View on GitHub
Deep Wiki
Context7

coolms/core-bundle

CI Latest Version PHP License

Symfony integration for the CoolMS platform kernel. The bundle base class every module extends, the DI extension and compiler passes, the install and secret console commands, and the platform's HTTP plumbing.

Notably it contains no persistence. Which storage backs the kernel's contracts is decided by whichever adapter package is installed — see coolms/core-doctrine.

Installation

composer require coolms/core-bundle coolms/core-doctrine

Name the adapter, or Composer installs the wrong thing and says it worked. This bundle pulls in coolms/core-module, which requires the virtual coolms/core-persistence-implementation. With no adapter that requirement cannot be satisfied — and instead of failing, Composer backtracks to a release of this bundle from before it declared coolms/core-module at all, then reports success.

Measured at the time of writing: composer require coolms/core-bundle alone resolved to v1.0.1 and pulled coolms/dtmpl 1.0.0 with it. Which older version it lands on is not the point; that it exits 0 is.

coolms/core-doctrine is the adapter that exists today; substitute another if you write one.

// config/bundles.php
CoolMS\CoreBundle\CoreBundle::class => ['all' => true],

What is in here

Area What it does
AbstractCoolmsBundle the base class every platform module's bundle extends
DependencyInjection/ the Core extension, AbstractExtension for module extensions, and the platform compiler passes
Console/ coolms:install and the coolms:secret:* commands
Secret/ the env, encrypted-file and Vault secret stores
Controller/, EventListener/, Http/ the base controller, RFC 7807 exception rendering, page-cache directives
Config/, Json/, Option/, Webhook/ the config cache warmer, JSONC decoding, option sources, webhook signature verification

Extending the platform

A module's bundle extends AbstractCoolmsBundle, and its DI extension extends AbstractExtension:

use CoolMS\CoreBundle\AbstractCoolmsBundle;
use CoolMS\CoreBundle\DependencyInjection\AbstractExtension;

final class MyModuleBundle extends AbstractCoolmsBundle
{
    public function getContainerExtension(): Extension
    {
        return new MyModuleExtension();
    }
}

AbstractExtension provides setResolveTargetEntities(), which accumulates the interface-to-concrete map the platform resolves at compile time.

Declare getAlias() explicitly in every extension. Symfony derives the alias from the class short name, and Extension minus the Extension suffix is the empty string — so two modules that both omit it silently collide on every service id built from the alias.

Related packages

Package Role
coolms/core kernel contracts
coolms/core-module application services
coolms/core-doctrine persistence adapter

License

MIT. See LICENSE.

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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin