src/Ease/Container.php
public static function &addItemCustom($pageItem, $context,
                                          $pageItemName = null)
    {
        $itemPointer = null;
        if (is_object($pageItem)) {
            if (method_exists($pageItem, 'draw')) {
                $duplicity = 1;
                if (is_null($pageItemName) || !strlen($pageItemName)) {
                    $pageItemName = $pageItem->getObjectName();
                }

                while (isset($context->pageParts[$pageItemName])) {
                    $pageItemName = $pageItemName.$duplicity++;
                }

                $context->pageParts[$pageItemName]               = $pageItem;
                $context->pageParts[$pageItemName]->parentObject = &$context;

                if (isset($context->pageParts[$pageItemName]->raiseItems) && is_array($context->pageParts[$pageItemName]->raiseItems)
                    && count($context->pageParts[$pageItemName]->raiseItems)
                ) {
                    $context->raise($context->pageParts[$pageItemName]);
                }
                if (method_exists($context->pageParts[$pageItemName], 'AfterAdd')) {
                    $context->pageParts[$pageItemName]->afterAdd($context);
                }
                $context->lastItem = &$context->pageParts[$pageItemName];
                $itemPointer       = &$context->pageParts[$pageItemName];
            } else {
                throw new Exception('Page Item object without draw() method: '.$pageItem);
            }
        } else {
            if (is_array($pageItem)) {
                $addedItemPointer = $context->addItems($pageItem);
                $itemPointer      = &$addedItemPointer;
            } else {
                if (!is_null($pageItem)) {
                    $context->pageParts[] = $pageItem;
                    $endPointer           = end($context->pageParts);
                    $itemPointer          = &$endPointer;
                }
            }
        }
        Shared::instanced()->registerItem($itemPointer);

        return $itemPointer;
    }
public static function &addItemCustom($pageItem, $context,
                                          $pageItemName = null)
    {
        $itemPointer = null;
        if (is_object($pageItem)) {
            if (method_exists($pageItem, 'draw')) {
                $duplicity = 1;
                if (is_null($pageItemName) || !strlen($pageItemName)) {
                    $pageItemName = $pageItem->getObjectName();
                }

                while (isset($context->pageParts[$pageItemName])) {
                    $pageItemName = $pageItemName.$duplicity++;
                }

                $context->pageParts[$pageItemName]               = $pageItem;
                $context->pageParts[$pageItemName]->parentObject = &$context;

                if (isset($context->pageParts[$pageItemName]->raiseItems) && is_array($context->pageParts[$pageItemName]->raiseItems)
                    && count($context->pageParts[$pageItemName]->raiseItems)
                ) {
                    $context->raise($context->pageParts[$pageItemName]);
                }
                if (method_exists($context->pageParts[$pageItemName], 'AfterAdd')) {
                    $context->pageParts[$pageItemName]->afterAdd($context);
                }
                $context->lastItem = &$context->pageParts[$pageItemName];
                $itemPointer       = &$context->pageParts[$pageItemName];
            } else {
                throw new Exception('Page Item object without draw() method: '.$pageItem);
            }
        } else {
            if (is_array($pageItem)) {
                $addedItemPointer = $context->addItems($pageItem);
                $itemPointer      = &$addedItemPointer;
            } else {
                if (!is_null($pageItem)) {
                    $context->pageParts[] = $pageItem;
                    $endPointer           = end($context->pageParts);
                    $itemPointer          = &$endPointer;
                }
            }
        }
        Shared::instanced()->registerItem($itemPointer);

        return $itemPointer;
    }
Vloží další element do objektu.

@param mixed  $pageItem     hodnota nebo EaseObjekt s metodou draw()
@param mixed  $context      Objekt do nějž jsou prvky/položky vkládány
@param string $pageItemName Pod tímto jménem je objekt vkládán do stromu

@return pointer Odkaz na vložený objekt