More Related Content
Similar to Nikol Ježková: Doctrine2 Behavioral Extensions - zaostřeno na stromy (6)
More from Konference PHPlive (6)
Nikol Ježková: Doctrine2 Behavioral Extensions - zaostřeno na stromy
- 3. Doctrine2 Behaviour Extensions
● Tree
● Translatable
● Sluggable
● Uploadable
● Loggable
● Sortable
● Timestampable
● IpTraceable
● Blameable
● SoftDeletable
● References
● ReferenceIntegrity
- 8. @GedmoTreeLevel 1 12
5 63 4 9 10
2 7 8 11
@GedmoTree(type="nested")
1
2
3
@GedmoTreeLeft @GedmoTreeRight
@GedmoTreeParent
1
2 3
use GedmoMappingAnnotation as Gedmo;
trait NestedSetEntity
- 13. ClosureTreeRepository
getRootNodes [Query / QueryBuilder]
getPath [Query / QueryBuilder]
getNodesHierarchy [Query / QueryBuilder]
getTree [Query / QueryBuilder]
getChildren [Query / QueryBuilder]
childrenHierarchy
removeFromTree
- 19. class Article implements GedmoTranslatableTranslatable
{ ...
$article = new EntityArticle;
$article->setTitle('Konference');
$article->setContent(Začátek');
// TranslationRepository
$repo->translate($article, 'title', 'de_de', 'Konferenz')
->translate($article, 'content', 'de_de', 'Beginn');
$em->persist($article);
$em->flush();
$article->setLocale('de_de');
$em->refresh($article);
$article->setLocale('cs_cz');
$em->refresh($article);
$article = $repo->findObjectByTranslatedField('title',
'Konferenz', 'EntityArticle');
GedmoTranslatableEntityRepositoryTranslationRepository
- 31. ● Propel
nested_set, sluggable, timestampable, sortable,
versionable
● Eloquent ORM [laravel]
Soft Deleting, Timestamps
● RedBeanPHP
tree
Behaviours v jiných ORM