paneedesign / discriminator-map-bundle
Dynamic DiscriminatorMap extender for Symfony with Doctrine ORM
Installs: 7 311
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 3
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^5.6|^7.0
- symfony/framework-bundle: ^3.0|^4.0
Suggests
- doctrine/doctrine-bundle: ^1.6
This package is auto-updated.
Last update: 2024-10-26 22:20:01 UTC
README
Dynamic DiscriminatorMap extender for Symfony with Doctrine ORM.
🏠 Homepage
Installation
Step 1: Download the Bundle
Install via Composer:
composer require paneedesign/discriminator-map-bundle
Or add this to your composer.json and run composer update
:
"require": { "paneedesign/discriminator-map-bundle": "^1.0" }
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new \PaneeDesign\DiscriminatorMapBundle\PedDiscriminatorMapBundle(), ); // ... } // ... }
Step 3: Configurations
Add configuration:
// app/config/config.yml //... ped_discriminator_map: maps: user: entity: PaneeDesign\UserBundle\Entity\User children: admin: AppBundle\Entity\Admin owner: AppBundle\Entity\Owner customer: AppBundle\Entity\Customer ...
where parent class implement this annotations:
/** * @ORM\Entity() * @ORM\Table(name="user") * @ORM\InheritanceType("JOINED") * @ORM\DiscriminatorColumn(name="user_grant", type="string", length="10") * @ORM\DiscriminatorMap({"user" = "User"}) */ abstract class User { ... }
and children class these one:
/** * Class Admin * * @package AppBundle\Entity * @ORM\Entity * @ORM\Table(name="user_admin") */ class Admin extends User { ... }
/** * Class Owner * * @package AppBundle\Entity * @ORM\Entity() * @ORM\Table(name="user_owner") */ class Owner { ... }
/** * Class Customer * * @package AppBundle\Entity * @ORM\Entity() * @ORM\Table(name="user_customer") */ class Customer { ... }
Author
👤 Fabiano Roberto
- Twitter: @dr_thief
- Github: @fabianoroberto
🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!
This README was generated with ❤️ by readme-md-generator