Download the PHP package rmed19/simple-behaviors-bundle without Composer
On this page you can find all versions of the php package rmed19/simple-behaviors-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rmed19/simple-behaviors-bundle
More information about rmed19/simple-behaviors-bundle
Files in rmed19/simple-behaviors-bundle
Package simple-behaviors-bundle
Short Description A Symfony bundle providing simple behaviors such as sluggable and timestampable entities.
License MIT
Informations about the package simple-behaviors-bundle
MrSimpleBehaviorsBundle
MrSimpleBehaviorsBundle is a Symfony bundle that provides simple, reusable behaviors for Doctrine entities, such as Sluggable and Timestampable functionalities.
Features
- Sluggable: Automatically generates a URL-friendly slug for your entities based on a specified field.
- Timestampable: Automatically manages
createdAtandupdatedAtfields for your entities.
Requirements
- PHP 8.0 or higher
- Symfony 6.0 or higher
- Doctrine ORM
- Symfony String Component
- Symfony Serializer Component
Installation
Install the bundle via Composer:
If you're not using Symfony Flex, you'll need to manually enable the bundle in your config/bundles.php:
Usage
Sluggable Entity
To use the Sluggable functionality in your entity, simply include the SluggableEntity trait and implement the SluggableInterface:
Timestampable Entity
To use the Timestampable functionality in your entity, include the TimestampableEntity trait and implement the TimestampableInterface:
Serialization Groups
The MrSimpleBehaviorsBundle provides serialization groups directly within the traits for controlling how slugs and timestamps are serialized.
- For Slugs: The
SluggableEntitytrait includes the groupmr_simple_behaviors:slug:read. - For Timestamps: The
TimestampableEntitytrait includes the groupmr_simple_behaviors:timestamp:read.
These groups allow you to manage the serialization of these fields effectively in different contexts.
Example:
In your entity, the SluggableEntity trait automatically applies the mr_simple_behaviors:slug:read group to the slug field, and the TimestampableEntity trait applies the mr_simple_behaviors:timestamp:read group to the createdAt and updateAt fields.
Example usage with Symfony's Serializer component:
In the example above, only the fields associated with the mr_simple_behaviors:slug:read group, including the slug, will be serialized.
Configuration
The bundle uses Doctrine event listeners to automatically handle Sluggable and Timestampable behaviors. No additional configuration is required out of the box.
However, if you need to customize the behavior, you can override the default services by modifying the services.xml file located in your project:
Testing
To run the test suite, use PHPUnit:
Make sure you have PHPUnit installed and configured.
Contributing
Contributions are welcome! Please submit a pull request or open an issue to discuss your ideas.
License
This bundle is licensed under the MIT license. See the LICENSE file for more details.
Credits
MrSimpleBehaviorsBundle is developed and maintained by Mohamed RHAMNIA. Special thanks to the Symfony and Doctrine communities for their amazing tools and documentation.
All versions of simple-behaviors-bundle with dependencies
symfony/config Version ^6.0 || ^7.0
symfony/dependency-injection Version ^6.0 || ^7.0
symfony/http-kernel Version ^6.0 || ^7.0
doctrine/orm Version ^2.10 || ^3.0
symfony/string Version ^6.0 || ^7.0
symfony/serializer Version ^6.0 || ^7.0