2017 © Pedro Peláez
 

library annevents

image

dipcom/annevents

  • Sunday, January 28, 2018
  • by mykola.chomenko
  • Repository
  • 1 Watchers
  • 0 Stars
  • 23 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

AnnEvents for Kdyby Events

AnnEvents expanding Kdyby Events. Adds the ability to create events by using annotations., (*1)

Installation

The best way to install DIPcom/AnnEvents is using Composer:, (*2)

$ composer require dipcom/annevents

Minimal configuration

extensions:
        events: Kdyby\Events\DI\EventsExtension
        doctrine: Kdyby\Doctrine\DI\OrmExtension
    annevents: DIPcom\AnnEvents\DI\AnnEventsExtension

Use

Annotations

  • @Event() Event class
  • @Listener() Listener event
  • @On() Property interconnection point
  • Target(listener="class", referenced="property") Target listener and his parameters listener="class" and referenced="property"

Before using AnnEvents docs Kdyby Events., (*3)

Create listener class

namespace App\Events;

use Nette;
use DIPcom\AnnEvents\Mapping as EV;

/**
 * @EV\Listener()
 */
class Order extends Nette\Object{

    /**
     * @EV\On()
     */
    public $onCreateOrder = array();

    /**
     * @see \App\Models\Order::createOrder()
     * @param array $items
     */
    public function pushBillItem(array $items){
        $this->onPushBillItem($items, $this);

    }

}

Create event class

namespace App\Events;

use Nette;
use DIPcom\AnnEvents\Mapping as EV;
use App\Events\Order;

/**
 * @EV\Event()
 */
class OrderEvent extends Nette\Object{

    /**
     * @EV\On()
     */
    public $onCreateOrder = array();

    /**
     * @EV\Targe(listener="App\Events\Order", referenced="onCreateOrder")
     */
    public function myAction(array $items, Order $listener){
        dump($items);
    }

}

The Versions