Example #1
0
 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";