<?php declare(strict_types=1); class ImageAdminBlockBuildingEvent extends Event { /** @var string[] */ public $parts = []; /** @var Image */ public $image = null; /** @var User */ public $user = null; public function __construct(Image $image, User $user) { parent::__construct(); $this->image = $image; $this->user = $user; } public function add_part(string $html, int $position=50) { while (isset($this->parts[$position])) { $position++; } $this->parts[$position] = $html; } }