Skip to content
 
 

Latest commit

 

History

32 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enum Generator

build

Generate PHP class definition that extends Enum class from file(yaml, json).

Installation

composer require genkiroid/enum-generator

Usage

Generate to STDOUT.

enum-generator --in enums.yaml

Generate to files. (Specify output dir.)

enum-generator --in enums.yaml --out /tmp/enums/

Generate to files. (Overwrite.)

enum-generator --in enums.yaml --out /tmp/enums/ --force

Specify a namespace

enum-generator --in enums.yaml --namespace="My/Namespace"

Input file format

YAML

---
- User:
    state:
      active: 0
      inactive: 1
- Shop:
    state:
      active: 0
      inactive: 1

JSON

[
  {
    "User": {
      "state": {
        "active": 0,
        "inactive": 1
      }
    }
  },
  {
    "Shop": {
      "state": {
        "active": 0,
        "inactive": 1
      }
    }
  }
]

Output

STDOUT.

<?php

class UserState extends Enum
{
    const ACTIVE = 0;
    const INACTIVE = 1;
}
<?php

class ShopState extends Enum
{
    const ACTIVE = 0;
    const INACTIVE = 1;
}

Files.

UserState.php
ShopState.php

Tips

You can use genkiroid/enum_exporter to create input file from existing Ruby on Rails application.

License

MIT

Author

genkiroid

About

Generate PHP class definition that extends Enum class from file(yaml, json).

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages