api-platform / api-platform/schema-generator
[enhancement] generate entity constructors with all non-nullable properties
- 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
Assessment
This issue has not been assessed yet.