for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Smalot\Github\Webhook\Event;
use Symfony\Component\EventDispatcher\Event;
/**
* Class EventBase
* @package Smalot\Github\Webhook\Event
*/
abstract class EventBase extends Event
{
* @var string
protected $eventName;
* @var array
protected $payload;
protected $delivery;
* EventBase constructor.
* @param string $eventName
* @param string $payload
* @param string $delivery
public function __construct($eventName, $payload, $delivery = null)
$this->eventName = $eventName;
$this->payload = (array) json_decode($payload, true);
$this->delivery = $delivery;
}
* @return string
abstract public function getEventName();
* @return array
public function getPayload()
return $this->payload;
public function getDelivery()
return $this->delivery;
public function getRepository()
return $this->payload['repository'];
public function getSender()
return $this->payload['sender'];
public function __sleep()
return array_diff(array_keys(get_object_vars($this)), array('dispatcher'));