4slv/registry-generator
Composer 安装命令:
composer require 4slv/registry-generator
包简介
registry class code generator
README 文档
README
Содержит 2 класса:
RegistryGenerator - генерирует код реестра
RegistryFactoryGenerator - генерирует код для фабрики реестра
Пример использования RegistryGenerator:
use RegistryGenerator\RegistryGenerator; (new RegistryGenerator()) ->setProjectPath($rootDir) # $rootDir - путь к папке проекта ->setRegistryCodeRelativePath($registryCodeRelativePath); # $registryCodeRelativePath - относительный путь # к папке генерации кода реестра ->setClassName('CreditAccountRegistry') # название класса реестра ->setNamespace($registryNamespace) # пространство имён реестра ->setClassComment('Реестр кредитных счетов') # комментарий к классу реестра ->setRegistryElementList($creditAccountRegistryElementList) # список элементов реестра типа RegistryElement[] ->generate();
сгенерирует реестр вида:
<?php namespace Registry\Generate; use Modules\Account\Account; /** Реестр кредитных счетов */ class CreditAccountRegistry { /** @var Account Счёт :: Основной долг */ protected $principal; /** @var Account Счёт :: Проценты на основной долг */ protected $interest; /** @return Account Счёт :: Основной долг */ public function getPrincipal() { return $this->principal; } /** @param Account $principal Счёт :: Основной долг * @return $this */ public function setPrincipal($principal) { $this->principal = $principal; return $this; } /** @return Account Счёт :: Проценты на основной долг */ public function getInterest() { return $this->interest; } /** @param Account $interest Счёт :: Проценты на основной долг * @return $this */ public function setInterest($interest) { $this->interest = $interest; return $this; } }
Пример использования RegistryFactoryGenerator:
use Registry\Generate\CreditAccountRegistry; use RegistryGenerator\RegistryFactoryGenerator; (new RegistryFactoryGenerator()) ->setProjectPath($rootDir) # $rootDir - путь к папке проекта ->setRegistryFactoryCodeRelativePath($registryFactoryCodeRelativePath); # $registryFactoryCodeRelativePath - относительный путь # к папке генерации кода фабрики реестра ->setRegistryFullClassName(CreditAccountRegistry::class) # полное название класса реестра (с неймспейсом) ->setFactoryClassName('CreditAccountRegistryFactory') # название класса фабрики реестра ->setNamespace($factoryNamespace) # пространство имён ->setFactoryClassComment('Фабрика реестра кредитных счетов') # комментарий к классу фабрики реестра ->setRegistryElementList($creditAccountRegistryElementList) # список элементов реестра типа RegistryElement[] ->generate();
сгенерирует фабрику для реестра RegistryGenerator вида:
<?php namespace Factory\Generate; use Registry\Generate\CreditAccountRegistry; use Modules\Account\Account; use Enum\Generate\AccountType; /** Фабрика реестра кредитных счетов */ class CreditAccountRegistryFactory { /** @return CreditAccountRegistry */ public function create() { $registry = new CreditAccountRegistry(); $principal = new Account(); $principalType = new AccountType('active'); $principal->setType($principalType); $registry->setPrincipal($principal); $interest = new Account(); $interestType = new AccountType('active'); $interest->setType($interestType); $registry->setInterest($interest); return $registry; } }
统计信息
- 总下载量: 726
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-05-23