yottacms / yotta-unit-bundle
Yotta unit manager bundle
v0.1.6
2017-10-17 13:22 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^5.6.4
- symfony/config: ^3.2
- symfony/dependency-injection: ^3.2
README
Пакетный менеджер бандлов для YottaCMS
Installation
composer require yottacms/yotta-unit-bundle
Usage
# app/config/services.yml \UnitExample: arguments: ['@service_container'] tags: - { name: yotta.unit, priority: 300 }
Recommendations
Настройку юнит-сервиса лучше всего делать следующим образом:
# app/config/config.yml yotta_unit: items: unit_example: type: "bundle" # widget | system name: "Unit Info" description: "Unit information" icon: "info" # optional version: "0.0.1" # optional # if bundle | widget entry_point: "/info" # path to entry point developer: true # set true to developer's bundle
// UnitExample.php use Symfony\Component\DependencyInjection\ContainerInterface; use YottaCms\Bundle\YottaUnitBundle\UnitManager\UnitInterface; class UnitExample implements UnitInterface { const PARAMETER_KEY = 'unit_example'; protected $configUnit; public function __construct(ContainerInterface $container) { if (!isset($container->getParameter('yotta_unit.items')[self::PARAMETER_KEY])) { throw new \Exception('Parameters "' . self::PARAMETER_KEY . '" not found in yotta_unit.items'); } $this->configUnit = $container->getParameter('yotta_unit.items')[self::PARAMETER_KEY]; } /** * @inheritdoc */ public function getName(): string { return $this->configUnit['name']; } /** * @inheritdoc */ public function getDescription(): ?string { return $this->configUnit['description']; } /** * @inheritdoc */ public function getEntryPoint(): ?string { return $this->configUnit['entry_point']; } /** * @inheritdoc */ public function getConfig(): array { return $this->configUnit; } /** * @inheritdoc */ public function getType(): string { return $this->configUnit['type']; } }