3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Event { /** * @var Boolean Whether no further event listeners should be triggered */ private $propagationStopped = false; /** * Returns whether further event listeners should be triggered. * * @see Event::stopPropagation * @return Boolean Whether propagation was already stopped for this event. * * @api */ public function isPropagationStopped() { return $this->propagationStopped; } /** * Stops the propagation of the event to further event listeners. * * If multiple event listeners are connected to the same event, no * further event listener will be triggered once any trigger calls * stopPropagation(). * * @api */ public function stopPropagation() { $this->propagationStopped = true; } } class AddFranchiseeEvent extends Event { /** * Event identifier */ const EVENT_ID = 'gtt.franchisee_my.event.add_franchisee'; /** * New franchisee * * @var Franchisee */ private $franchisee; /** * Franchisee prefix * * @var string */ private $prefix; /** * 1C code * * @var string */ private $code; /** * Franchisee client ID * * @var integer */ private $clientId; /** * Constructor * * @param Franchisee $franchisee new franchisee, must be already stored and have ID * @param string $prefix prefix * @param string $code 1C code * @param int $clientId client ID */ public function __construct(Franchisee $franchisee, $prefix, $code, $clientId) { $this->franchisee = $franchisee; $this->prefix = $prefix; $this->code = $code; $this->clientId = $clientId; } /** * Gets managed franchisee entity * * @return Franchisee */ public function getFranchisee() { return $this->franchisee; } /** * Gets prefix * * @return string */ public function getPrefix() { return $this->prefix; } /** * Gets 1C code * * @return string */ public function getCode() { return $this->code; } /** * Gets franchisee client ID * * @return int */ public function getClientId() { return $this->clientId; } } /** * Class Franchisee * @package Gtt\Module\FranchiseeMy\Entity * * @Map\Entity * * @Map\Table(name="franchisee") */ class Franchisee { /** * ID * * @var int * * @Map\Id * * @Map\Column(name="id", type="integer") * * @Map\GeneratedValue(strategy="AUTO") */ private $id; /** * Parent ID * * @var int * * @Map\Column(name="parent_id", type="integer") */ private $parentId; /** * Short name * * @var string * * @Map\Column(name="short_name", type="string") */ private $shortName; /** * Short name * * @var string * * @Map\Column(name="full_name", type="string") */ private $fullName; /** * Branch ID * * @var int * * @Map\Column(name="branch_id", type="integer") */ private $branchId; /** * Status * * @var int * * @Map\Column(name="status_id", type="integer") */ private $status; /** * Setter * * @param int $status * * @return void */ public function setStatus($status) { $this->status = $status; } /** * Getter * * @return int */ public function getStatus() { return $this->status; } /** * Sets full name * * @param string $fullName */ public function setFullName($fullName) { $this->fullName = $fullName; } /** * Gets full name * * @return string */ public function getFullName() { return $this->fullName; } /** * Sets ID * * @param int $id */ public function setId($id) { $this->id = $id; } /** * Gets ID * * @return int */ public function getId() { return $this->id; } /** * Sets parent ID * * @param int $parentId */ public function setParentId($parentId) { $this->parentId = $parentId; } /** * Gets parent ID * * @return int */ public function getParentId() { return $this->parentId; } /** * Sets short name * * @param string $shortName */ public function setShortName($shortName) { $this->shortName = $shortName; } /** * Gets short name * * @return string */ public function getShortName() { return $this->shortName; } /** * Gets branch ID * * @return int */ public function getBranchId() { return $this->branchId; } /** * Sets branch ID * * @param int $branchId branch ID * * @return void */ public function setBranchId($branchId) { $this->branchId = $branchId; } } $object = new AddFranchiseeEvent(new Franchisee(), 'pref', 121, 12323); echo json_encode($object);

preferences:
51.84 ms | 402 KiB | 5 Q