/** * Sets a collection entry * * @param string $index * @param string $content * * @throws \MarkdownExtended\Exception\UnexpectedValueException it the argument does not implement `\MarkdownExtended\API\ContentInterface` */ public function offsetSet($index, $content) { if (!is_object($content) || !Kernel::valid($content, Kernel::TYPE_CONTENT)) { throw new UnexpectedValueException(sprintf('Method "%s" expects the second parameter to implement "%s", got "%s"', __METHOD__, Kernel::CONTENT_INTERFACE, is_object($content) ? get_class($content) : gettype($content))); } parent::offsetSet($index, $content); }
/** * Gets rendering results * * @param bool $as_array * @return array */ public function getResults($as_array = false) { $results = $this->results; if ($as_array) { $item_callback = function (&$item) { /* @var $item \MarkdownExtended\API\ContentInterface */ return $item = is_object($item) && Kernel::valid($item, Kernel::TYPE_CONTENT) ? array_filter($item->__toArray()) : $item; }; array_walk($results, $item_callback); } return $results; }