4slv/enum-generator

枚举类代码生成器

维护者

详细信息

github.com/4slv/enum-generator

源代码

安装: 696

依赖: 0

建议: 0

安全: 0

星星: 0

关注者: 1

分支: 2

v1.0.1 2018-06-15 13:35 UTC

This package is not auto-updated.

Last update: 2024-09-18 21:05:08 UTC


README

枚举类型类代码生成器 myclabs/php-enum

如何使用

示例

use EnumGenerator\EnumElement;
use EnumGenerator\EnumGenerator;

require_once 'vendor/autoload.php';

$projectPath = '/tmp/enum-generator';
$enumClassName = 'Sex';
$enumNamespace = 'Enum';
$enumClassComment = 'Пол';
$enumCodeDirRelativePath = 'enum';
$enumElementList = [
    (new EnumElement())->setName('MALE')->setValue('Male')->setComment('Мужчина'),
    (new EnumElement())->setName('FEMALE')->setValue('Female')->setComment('Женщина')
];

$enumGenerator = new EnumGenerator();
$enumGenerator
    ->setProjectPath($projectPath) // $projectPath абсолютный путь к папке проекта
    ->setClassName($enumClassName) // $enumClassName название класса с перечислениями
    ->setEnumNamespace($enumNamespace) // $enumNamespace пространство имен класса с перечислениями
    ->setClassComment($enumClassComment) // $enumClassComment комментарий к классу с перечислениями
    ->setEnumCodeRelativePath($enumCodeDirRelativePath) // $enumCodeDirRelativePath относительный путь к папке
    ->setEnumElementList($enumElementList) // $enumElementList список описания элементов перечисления
    ->generate(); // генерация класса

生成的文件为:/tmp/enum-generator/Sex.php

内容如下

<?php
namespace Enum;

use MyCLabs\Enum\Enum;

/** Пол */
class Sex extends Enum
{
    /** Мужчина */
    const MALE = 'Male';

    /** Женщина */
    const FEMALE = 'Female';


}