blast-project / base-entities-bundle
Base behaviors for Doctrine Entities in Libre Informatique Symfony2 projects
Installs: 6 014
Dependents: 13
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 1
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=7.1
- blast-project/core-bundle: 0.6.4
- stof/doctrine-extensions-bundle: >=1.2
Requires (Dev)
- phpunit/phpunit: ^6.4
- symfony/phpunit-bridge: >=3.2
Suggests
- libre-informatique/crm-bundle: Manage contacts, organisms and more...
This package is not auto-updated.
Last update: 2024-10-26 19:48:22 UTC
README
This bundle provides some tools for a better integration of LibrinfoDoctrineBundle behaviours in Sonata Admin
Installation
Prequiresites
- having a working Symfony2 environment
- having created a working Symfony2 app (including your DB and your DB link)
- having composer installed (here in /usr/local/bin/composer, with /usr/local/bin in the path)
Downloading
$ composer require libre-informatique/base-entities-bundle dev-master
Adding the bundle in your app
Edit your app/AppKernel.php file and add your "libre-informatique/base-entities-bundle" :
// app/AppKernel.php // ... public function registerBundles() { $bundles = array( // ... // The libre-informatique bundles new Blast\BaseEntitiesBundle\BlastCoreBundle(), new Blast\BaseEntitiesBundle\LibrinfoDoctrineBundle(), new Blast\BaseEntitiesBundle\BlastBaseEntitiesBundle(), // your personal bundles ); }
Configuring the bundle
Activate the listeners you need in your application (add those lines to app/config/config.yml
) :
# Enable LibrinfoDocrineBundle event listeners librinfo_doctrine: orm: default: naming: true guidable: true timestampable: true addressable: true treeable: true nameable: true labelable: true emailable: true descriptible: true searchable: true loggable: true # List of entity search-able indexed fields entity_search_indexes: Me\MyBundle\Entity\MyEntity: fields: - name - fulltextName - firstname - lastname - description - email - url
Add/remove the needed behaviours for each orm connection used by your application.
Under entity_search_indexes
key, you can set search indexes for each entity that should be indexable.
Learn how to use the bundle
Doctrine Behaviors provided by the bundle
- naming: provides a database table naming based on your vendor / bundle / entity
- guidable: provides GUID primary keys to your entities
- timestampable: provides createdAt / updatedAt fields and doctrine listeners to your entities
- addressable: provides address fields to your entities (address, city, zip, country...)
- treeable: provides tree structure to your entities
- nameable: provides a name field to your entities
- labelable: provides a label field to your entities
- emailable: provides email related fields to your entities
- descriptible: provides a description field to your entities
- searchable: provides a search index based on a selection of fields
- loggable: tracks your entities changes and is able to manage versions
Learn how to use them, how they work, and by extension learn how to create new behaviors shaped to your needs, reading the specific documentation.
Learn how to use the libre-informatique/base-entities-bundle
Specific Form Types
The bundle provides some form types, learn more about this, reading the specific documentation.