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

v0.9.0 2024-03-06 12:03 UTC

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