jeyroik/extas-players-groups

There is no license information available for the latest version (0.1.0) of this package.

Groups for extas players

0.1.0 2020-08-19 09:29 UTC

This package is auto-updated.

Last update: 2024-04-19 17:18:41 UTC


README

tests codecov.io PHPStan Enabled 68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f63373631333165636634333065633164663565322f6d61696e7461696e6162696c697479 Extas Installer v3 Latest Stable Version Total Downloads Dependents

Описание

Пакет предоставляет функционал групп пользователей.

Установка

# vendor/bin/extas i

Пакет предоставляет несколько базовых групп: public, authorized, admin.

Чтобы их использовать, необходимо в родительском пакете прописать импорт:

{
  "import": {
    "from": {
      "extas/players-groups": {
        "players_groups": "*"
      }
    },
    "parameters": {
      "on_miss_package": {
        "name": "on_miss_package",
        "value": "throw"
      },
      "on_miss_section": {
        "name": "on_miss_section",
        "value": "throw"
      }
    }
  }
}

Использование

Группа представляет собой простого пользователя с определёнными параметрами.

/**
 * @var \extas\interfaces\repositories\IRepository $players
 */
$player = $players->one(['name' => 'test']);
if ($player->isGroup()) {
    $group = $player->__toGroup();
}

Группа совместима с пользователями, поэтому может использоваться стандартный репозиторий пользователей для сохранения и получения групп.

use extas\components\players\PlayerGroup;

/**
 * @var \extas\interfaces\repositories\IRepository $players
 */

$group = new PlayerGroup();
$group->setCreatorName('test')->setCreatedAt(time())->setPrivate(true);
$players->create($group);