EZRating
A light bundle for implementing user rating in a Symfony application., (*1)
Install
In the console use the command, (*2)
composer require tigralt/ezratingbundle
Or in your composer.json
add the requirement, (*3)
"require": {
"tigralt/ezratingbundle": "dev-master"
}
Then register the bundle in your AppKernel
, (*4)
public function registerBundles()
{
...
$bundles = array(
...
new Tigralt\EZRatingBundle\EZRatingBundle(),
);
...
return $bundles;
}
The rating architecture is divided in two objects:, (*5)
- The rating thread
- The user rating
A rating thread is a type of rating. For example: An user is rated on his activity, then a rating thread named "Activity" will be created to contain all rating about "Activity".
A user rating is the rating from an user., (*6)
Data
Rating thread:, (*7)
Rating:, (*8)
- UserID
- Rating
- Comment
- Metadata
The metadata in the rating is an array that can support any type of data., (*9)
Usage
In order to use the rating bundle, you have to call the rating manager in your controller, (*10)
$rating_manager = $this->get("ezrating.manager");
Add rating thread
$rating_manager->addRatingThread("TheRatingThreadName");
Add rating
$rating_manager->addRating($thread_id, $user_id, $rating_number, "This is a comment", array("meta" => "data"));
Find all rating on a user
$ratings = $rating_manager->getAllFromUser($user_id);
Get all rating thread
$rating_threads = $rating_manager->getAllRatingThreads();