Advertisement
dvdsantana

AchievementBundle dispatch & listener event

Jun 13th, 2013
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.89 KB | None | 0 0
  1. # config/achievements.yml
  2. comun:
  3.     crear_rutina:
  4.         name: CrearRutina
  5.         event: crear_rutina
  6.         class: Rutinio\LogroBundle\Listener\LogroListener
  7.         method: onCrearRutina
  8.  
  9. # Rutinio\LogroBundle\Listener\LogroListener.php;
  10. <?php
  11.  
  12. namespace Rutinio\LogroBundle\Listener;
  13.  
  14. use Cunningsoft\AchievementBundle\Services\AchievementService;
  15. use Doctrine\ORM\EntityManager;
  16.  
  17. class LogroListener {
  18.  
  19.     /**
  20.      * @var AchievementService
  21.      */
  22.     private $achievementService;
  23.  
  24.     /**
  25.      * @var EntityManager
  26.      */
  27.     private $entityManager;
  28.  
  29.     /**
  30.      * @param AchievementService $achievementService
  31.      * @param EntityManager $entityManager
  32.      */
  33.     public function __construct(AchievementService $achievementService, EntityManager $entityManager) {
  34.         $this->achievementService = $achievementService;
  35.         $this->entityManager = $entityManager;
  36.     }
  37.  
  38.     public function onCrearRutina(RutinaCreadaEvent $event) {
  39.         $this->achievementService->trigger('comun', 'crear_rutina', $event->getUsuario());
  40.  
  41.         var_dump($event);
  42.         exit();
  43.     }
  44.  
  45. }
  46.  
  47. # Rutinio\LogroBundle\Events\RutinaCreadaEvent.php
  48. <?php
  49.  
  50. namespace Rutinio\LogroBundle\Events;
  51.  
  52. use Rutinio\RutinaBundle\Entity\Rutina;
  53. use Rutinio\UsuarioBundle\Entity\Usuario;
  54. use Symfony\Component\EventDispatcher\Event;
  55.  
  56. class RutinaCreadaEvent extends Event {
  57.  
  58.     /**
  59.      * @var Rutina
  60.      */
  61.     protected $rutina;
  62.  
  63.     /**
  64.      * @var Usuario
  65.      */
  66.     protected $usuario;
  67.  
  68.     public function __construct(Rutina $rutina, Usuario $usuario) {
  69.         $this->rutina = $rutina;
  70.         $this->usuario = $usuario;
  71.     }
  72.  
  73.     /**
  74.      * @return Rutina
  75.      */
  76.     public function getRutina() {
  77.         return $this->rutina;
  78.     }
  79.  
  80.     /**
  81.      * @return Usuario
  82.      */
  83.     public function getUsuario() {
  84.         return $this->Usuario;
  85.     }
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement