eightmarq / core-bundle
Core bundle is a basic bundle for all EightMarq bundles.
Installs: 303
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.1
- doctrine/common: ^3.0
- eightmarq/doctrine-behaviors: ^2.7
- ramsey/uuid: ^4.7
- symfony/framework-bundle: ^6.4|^7.0
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-04-06 12:25:17 UTC
README
Core bundle is a basic bundle for all EightMarq bundles.
Requirements
Important! PHP 8.1 is required for this bundle, because in this bundle we use typed properties feature!
Installation
composer require knplabs/doctrine-behaviors composer require eightmarq/core-bundle
Usage
Entity
class <your-entity-name> extends BaseEntity
EightMarq\CoreBundle\Entity\BaseEntity
provides basic entity functionalities:
- $id property with getId() / setId() method
- Timestampable behavior (KnpLabs/DoctrineBehaviors)
- SoftDeleteable behavior (KnpLabs/DoctrineBehaviors)
- Blameable behavior (KnpLabs/DoctrineBehaviors)
AbstractExtension
If you create a new bundle, you should use EightMarq\CoreBundle\DependencyInjection\AbstractExtension
instead of using directly use Symfony\Component\DependencyInjection\Extension\Extension
class.
Provides
Entity interface registration
Your entities from the bundles will be automatically added to your project.
Usage: override prepend function like below
public function prepend(ContainerBuilder $container): void { $this->targetEntities[<interface_class_name>] = <entity_class_name>; parent::prepend($container); }
More information: https://symfony.com/doc/current/doctrine/resolve_target_entity.html
Configuration reference
No configuration