martenb/nextras-orm-code-generator

Console entity, repository and mapper generator for Nextras/ORM

dev-master 2019-03-08 12:51 UTC

README

Installation

composer require martenb/nextras-orm-code-generator:dev-master --dev

Configuration

extensions:
    ormGenerator: MartenB\Nextras\ORM\DI\Extension

Optional configuration

ormGenerator:
    directory: '%appDir%/model/orm'
    namespace: 'App\Model'
    entityExtends: 'App\Model\BaseEntity'
    repositoryExtends: 'App\Model\BaseRepository'
    mapperExtends: 'App\Model\BaseMapper'

Usage

php bin/console orm:generator Product Products

This command creates entity, repository and mapper in %directory%/Product.

Entity %directory%/Product/Product.php

<?php
namespace App\Model;

/**
 * @property int $id {primary}
 */
class Product extends BaseEntity
{
}

Repository %directory%/Product/ProductsRepository.php

<?php
namespace App\Model;

class ProductsRepository extends BaseRepository
{
	public static function getEntityClassNames(): array
	{
		return [Product::class];
	}
}

Maper %directory%/Product/ProductsMapper.php

<?php
namespace App\Model;

class ProductsMapper extends BaseMapper
{
}