-
-
Notifications
You must be signed in to change notification settings - Fork 114
/
CategoryManagerInterface.php
41 lines (32 loc) · 1.11 KB
/
CategoryManagerInterface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
declare(strict_types=1);
/*
* This file is part of the Sonata Project package.
*
* (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Sonata\ClassificationBundle\Model;
use Sonata\Doctrine\Model\ManagerInterface;
/**
* @phpstan-extends ManagerInterface<CategoryInterface>
*/
interface CategoryManagerInterface extends ManagerInterface
{
public function getRootCategoryWithChildren(CategoryInterface $category): CategoryInterface;
/**
* @return CategoryInterface[]
*/
public function getRootCategoriesForContext(?ContextInterface $context = null): array;
/**
* @return CategoryInterface[]
*/
public function getAllRootCategories(bool $loadChildren = true): array;
/**
* @return array<string, CategoryInterface[]>
*/
public function getRootCategoriesSplitByContexts(bool $loadChildren = true): array;
public function getBySlug(string $slug, ?string $contextId = null, ?bool $enabled = true): ?CategoryInterface;
}