Поиск и фильтрация данных
С помощью объекта класса App\Services\Game\Permissions\Funnel
можно производить фильтрацию разрешений пользователя или группы.
Все объекты-коллекции ниже имеют тип Doctrine\Common\Collections\Collection
.
Предикат
Предикат - DTO класс, используемый для описание правил фильтрации данных.
Для фильтрации разрешений требуется объект типа App\Services\Game\Permissions\Predicates\PermissionPredicate
.
App\Services\Game\Permissions\Funnel::filterPlayerPermissions()
Метод принимает в качестве параметров объект игрока, чьи разрешения нужно отфильтровать и объект PermissionPredicate
. Возвращает коллекцию отфильтрованных разрешений.
Приведенный выше код производит фильтрацию разрешений пользователя в переменную $result
по следующим критерия:
Имя разрешения начинается с "minecraft."
Разрешение относится к серверу "3 ".
App\Services\Game\Permissions\Funnel::filterGroupPermissions()
Метод принимает в качестве параметров объект группы, чьи разрешения нужно отфильтровать и объект PermissionPredicate
. Возвращает коллекцию отфильтрованных разрешений.
Приведенный выше код производит фильтрацию разрешений группы в переменную $result
по следующим критерия:
Имя разрешения в точности соответствует - "groupmanager.manuadd".
Разрешение относится к любому серверу.
Разрешение относится к миру "nether".
App\Services\Game\Permissions\Funnel::filterPermissions()
Фильтрует коллекцию разрешений переданным предикатом.
Last updated