4slv / enum-generator
emun class code generator
v1.0.1
2018-06-15 13:35 UTC
Requires
- php: >=5.4.0
- myclabs/php-enum: 1.5.2
This package is not auto-updated.
Last update: 2024-12-11 22:20:05 UTC
README
Генератор кода класса перечисляемого типа Enum 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'; }