subsan / entity-generator

1.0.2 2018-11-06 10:41 UTC

This package is auto-updated.

Last update: 2024-09-15 17:31:28 UTC


README

实体生成器

需求

安装

您可以使用 Composer 或直接 下载发布版本

Composer

推荐方法是通过 composer。如果您还没有安装 composer,请按照 安装说明 进行操作。

安装 composer 后,在您的项目根目录中执行以下命令来安装此库

composer require subsan/entity-generator:"^1.0"

最后,请确保包含自动加载器

require_once '/path/to/your-project/vendor/autoload.php';

下载发布版本

如果您不喜欢使用 composer,可以下载整个包。在 发布页面 上列出了所有稳定版本。下载任何名为 entity-generator-[RELEASE_NAME].zip 的文件,即可获得包含此库及其依赖项的包。

解压缩您下载的 zip 文件,并在您的项目中包含自动加载器

require_once '/path/to/entity-generator/vendor/autoload.php';

使用方法

/vendor/bin/entityGenerator [YAML-file-path]

基本示例

示例文件 vendor/subsan/entity-generator/example/GeneratorConfigField.yaml 包含

name: GeneratorConfigField
namespace: Subsan\EntityGenerator
fields:
  Name:
    type: string
    description: Name of field
  Type:
    type: string
    description: Type of field
  Description:
    type: string
    description: Description for field
    setNull: true

在控制台运行

vendor/bin/entityGenerator vendor/subsan/entity-generator/example/GeneratorConfigField.yaml > GeneratorConfigField.php

生成的文件 GeneratorConfigField.php 包含

<?php

namespace Subsan\EntityGenerator;

class GeneratorConfigField
{
    /**
     * @var string Name of field
     */
    private $name;

    /**
     * @var string Type of field
     */
    private $type;

    /**
     * @var string|null Description for field
     */
    private $description;

    public function getName(): string
    {
        return $this->name;
    }

    public function setName(string $name): self
    {
        $this->name = $name;

        return $this;
    }

    public function getType(): string
    {
        return $this->type;
    }

    public function setType(string $type): self
    {
        $this->type = $type;

        return $this;
    }

    public function getDescription(): ?string
    {
        return $this->description;
    }

    public function setDescription(?string $description): self
    {
        $this->description = $description;

        return $this;
    }

}