Download the PHP package bro-world/core-bundle without Composer
On this page you can find all versions of the php package bro-world/core-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bro-world/core-bundle
More information about bro-world/core-bundle
Files in bro-world/core-bundle
Package core-bundle
Short Description Core utilities & services for Bro World projects
License proprietary
Homepage https://github.com/rami-aouinti/bro-world-core
Informations about the package core-bundle
Bro World Core Bundle
Core utilities and cross‑cutting services for Bro World microservices, packaged as a reusable Symfony bundle.
Goals
- Centralize shared code (traits, helpers, subscribers, transport strategies, small infra services)
- Keep domain‑specific logic inside each microservice
- Provide clean, opt‑in configuration (no hard coupling)
Requirements
- PHP: 8.3+
- Symfony: 7.2+
- Optional:
ramsey/uuidandramsey/uuid-doctrine(if you use UUID value objects / DBAL types)symfony/messenger(if you use the retry strategy included here)symfony/serializer,symfony/validator(if you use provided helpers/subscribers relying on them)
The bundle does not force
doctrine/ormas a hard dependency. Install it in your apps as needed.
Installation
A) From Packagist (recommended)
B) From Git (VCS)
Enable the bundle
Configuration
Create config/packages/bro_world_core.yaml in your app. All options are optional and have sensible defaults.
If you don’t need a given area (e.g. Messenger), you can omit it entirely.
What’s included
Depending on what you use in your apps, this bundle typically provides:
-
Infrastructure / Services
LexikJwtAuthenticatorService— small helper to decide if a request path is secured (usessecurity.secured_path_regex).Clock— tiny time helper returningDateTimeImmutable::now().
-
Event Subscribers
ExceptionSubscriber— example subscriber that may need the current environment injected.
-
Messenger
Infrastructure\Messenger\Strategy\FailedRetry— a configurableRetryStrategyInterfaceimplementation.
- Doctrine/Domain (if you choose to use them)
- Doctrine traits such as
Uuid,Timestampable,Blameable. - Optional auto‑registration of Ramsey UUID types when
ramsey/uuid-doctrineis installed.
- Doctrine traits such as
The exact set may evolve; keep an eye on the changelog.
Service Wiring (what the bundle wires for you)
The bundle uses PHP config to autowire/autoconfigure its own namespace and binds common scalars so you don’t have to override them in each app, e.g.:
LexikJwtAuthenticatorService::$path⟶%bro_world_core.security.secured_path_regex%ExceptionSubscriber::$environment⟶%kernel.environment%FailedRetry::$isRetryable⟶%bro_world_core.messenger.failed_retry.is_retryable%FailedRetry::$retryWaitingTime⟶%bro_world_core.messenger.failed_retry.waiting_time%ApiProxyService::$baseUrls⟶%bro_world_core.api_proxy.base_urls%ApiProxyService::$uploadDefaults⟶%bro_world_core.api_proxy.upload_defaults%
If you need to override any of those in a particular app, you can redefine the service in that app’s services.yaml.
Messenger Integration (optional)
If you want to use the provided retry strategy:
Set
bro_world_core.messenger.failed_retry.*options inbro_world_core.yamlto control behavior.
Doctrine / Ramsey UUID (optional)
If your app uses Ramsey UUID and the DBAL types, install:
The bundle can prepend a DBAL type mapping when Doctrine is present:
If you prefer, you can configure DBAL types manually in your app instead.
Usage Examples
Secured path regex
Custom retry strategy for failed messages
Configuring the API proxy
Injecting the Clock service
Versioning & Releases
- Tags follow SemVer (e.g.
v0.1.0,v0.2.0). - When using
dev-master, consider setting Composer’sminimum-stabilitytodevwithprefer-stable: true, or define a branch alias in the bundle.
Contributing
Issues and PRs are welcome.
- Issues: https://github.com/rami-aouinti/bro-world-core/issues
- Please keep additions generic and microservice‑agnostic.
Security
If you discover a security vulnerability, please open a private issue or contact the maintainer directly.
License
See the LICENSE file distributed with this repository. (Composer currently advertises proprietary.)
All versions of core-bundle with dependencies
symfony/framework-bundle Version ^7.2
symfony/config Version ^7.2
symfony/http-client Version ^7.2
symfony/mime Version ^7.2
symfony/serializer Version ^7.2
symfony/validator Version ^7.2
symfony/messenger Version ^7.2
ramsey/uuid Version ^4.6
ramsey/uuid-doctrine Version ^2.1
elasticsearch/elasticsearch Version ^8.15
mark-gerarts/automapper-plus-bundle Version ^2.4