protected function doCopyTest($treeFrom, $treeTo) { ezcTree::copy($treeFrom, $treeTo); self::assertSame(35, $treeFrom->getChildCountRecursive('Hominoidea')); self::assertSame(35, $treeTo->getChildCountRecursive('Hominoidea')); $pathFrom = $treeFrom->fetchPath('H**o Superior'); $pathTo = $treeTo->fetchPath('H**o Superior'); self::assertEquals(5, $pathFrom->size); self::assertEquals(5, $pathTo->size); self::assertSame(array_keys($pathFrom->nodes), array_keys($pathTo->nodes)); $node = $treeFrom->fetchNodeById('Müller\'s Bornean Gibbon'); self::assertSame("Müller's Bornean Gibbon", $node->data); $node = $treeTo->fetchNodeById('Müller\'s Bornean Gibbon'); self::assertSame("Müller's Bornean Gibbon", $node->data); }
<?php require_once 'tutorial_autoload.php'; $store = new ezcTreeXmlInternalDataStore(); $tree = new ezcTreeXml('files/example1.xml', $store); $memTree = ezcTreeMemory::create(new ezcTreeMemoryDataStore()); ezcTree::copy($tree, $memTree); echo $memTree->getChildCountRecursive('Elements'), "\n";