id = $id; $this->term = $term; $this->context = $context; } public function add_querylet(Querylet $q) { $this->querylets[] = $q; } } class SearchTermParseException extends SCoreException { } class PostListBuildingEvent extends Event { /** @var array */ public $search_terms = []; /** @var array */ public $parts = []; /** * #param string[] $search */ public function __construct(array $search) { parent::__construct(); $this->search_terms = $search; } public function add_control(string $html, int $position=50) { while (isset($this->parts[$position])) { $position++; } $this->parts[$position] = $html; } }