PHPackages                             4slv/enum-generator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. 4slv/enum-generator

ActiveLibrary

4slv/enum-generator
===================

emun class code generator

v1.0.1(7y ago)07001MITPHPPHP &gt;=5.4.0

Since May 7Pushed 7y agoCompare

[ Source](https://github.com/4slv/enum-generator)[ Packagist](https://packagist.org/packages/4slv/enum-generator)[ RSS](/packages/4slv-enum-generator/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

enum-generator
==============

[](#enum-generator)

Генератор кода класса перечисляемого типа Enum [myclabs/php-enum](https://github.com/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

со следующим содержимым:

```
