4slv/registry-generator 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-05-23

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固