api-platform / api-platform/schema-generator

[enhancement] generate entity constructors with all non-nullable properties

Open
#73 1 comment 3 reactions 0 assignees View on GitHub
enhancement
Dominant language
PHP
Stars
474
Forks
107
PR merge metrics
No merged PRs in 30d

Description

If my `schema.yml` says this:

```yaml
Product:
parent: false
properties:
name: { nullable: false }
```

Then I would love it if my generated `Product.php` then contains a constructor function which requires the `$name` property. Like this:

```php
// src/AppBundle/Entity/Product.php

class Product
{
// ...

public function __construct(string $name)
{
$this->setName($name);
// using the setter that already exists
// so we can utilize any validation that that method might have
}

// ...
}
```

That way you can guarantee when I or another developer wants to initialize a new `Product`, that it will be a valid entity right after initialization.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.