Update
This commit is contained in:
parent
a37785b391
commit
33458b2ca3
9915 changed files with 1247019 additions and 0 deletions
79
trunk/_vendor/gedmo/doctrine-extensions/example/run.php
Normal file
79
trunk/_vendor/gedmo/doctrine-extensions/example/run.php
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
<?php
|
||||
|
||||
use Doctrine\ORM\Query;
|
||||
use Gedmo\Translatable\TranslatableListener;
|
||||
|
||||
$executionStart = microtime(true);
|
||||
$memoryStart = memory_get_usage(true);
|
||||
|
||||
$em = include 'em.php';
|
||||
|
||||
/**
|
||||
* initialized in em.php
|
||||
*
|
||||
* Gedmo\Translatable\TranslationListener
|
||||
*/
|
||||
|
||||
$repository = $em->getRepository('Entity\Category');
|
||||
$food = $repository->findOneByTitle('Food');
|
||||
if (!$food) {
|
||||
// lets create some categories
|
||||
$food = new Entity\Category();
|
||||
$food->setTitle('Food');
|
||||
$food->addTranslation(new Entity\CategoryTranslation('lt', 'title', 'Maistas'));
|
||||
|
||||
$fruits = new Entity\Category();
|
||||
$fruits->setParent($food);
|
||||
$fruits->setTitle('Fruits');
|
||||
$fruits->addTranslation(new Entity\CategoryTranslation('lt', 'title', 'Vaisiai'));
|
||||
|
||||
$apple = new Entity\Category();
|
||||
$apple->setParent($fruits);
|
||||
$apple->setTitle('Apple');
|
||||
$apple->addTranslation(new Entity\CategoryTranslation('lt', 'title', 'Obuolys'));
|
||||
|
||||
$milk = new Entity\Category();
|
||||
$milk->setParent($food);
|
||||
$milk->setTitle('Milk');
|
||||
$milk->addTranslation(new Entity\CategoryTranslation('lt', 'title', 'Pienas'));
|
||||
|
||||
$em->persist($food);
|
||||
$em->persist($milk);
|
||||
$em->persist($fruits);
|
||||
$em->persist($apple);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
// create query to fetch tree nodes
|
||||
$query = $em
|
||||
->createQueryBuilder()
|
||||
->select('node')
|
||||
->from('Entity\Category', 'node')
|
||||
->orderBy('node.root, node.lft', 'ASC')
|
||||
->getQuery()
|
||||
;
|
||||
// set hint to translate nodes
|
||||
$query->setHint(
|
||||
Doctrine\ORM\Query::HINT_CUSTOM_OUTPUT_WALKER,
|
||||
'Gedmo\\Translatable\\Query\\TreeWalker\\TranslationWalker'
|
||||
);
|
||||
$treeDecorationOptions = array(
|
||||
'decorate' => true,
|
||||
'rootOpen' => '',
|
||||
'rootClose' => '',
|
||||
'childOpen' => '',
|
||||
'childClose' => '',
|
||||
'nodeDecorator' => function ($node) {
|
||||
return str_repeat('-', $node['level']).$node['title'].PHP_EOL;
|
||||
},
|
||||
);
|
||||
// build tree in english
|
||||
echo $repository->buildTree($query->getArrayResult(), $treeDecorationOptions).PHP_EOL.PHP_EOL;
|
||||
// change locale
|
||||
$query->setHint(TranslatableListener::HINT_TRANSLATABLE_LOCALE, 'lt');
|
||||
// build tree in lithuanian
|
||||
echo $repository->buildTree($query->getArrayResult(), $treeDecorationOptions).PHP_EOL.PHP_EOL;
|
||||
|
||||
$ms = round(microtime(true) - $executionStart, 4) * 1000;
|
||||
$mem = round((memory_get_usage(true) - $memoryStart) / 1000000, 2);
|
||||
echo "Execution took: {$ms} ms, memory consumed: {$mem} Mb";
|
||||
Loading…
Add table
Add a link
Reference in a new issue