murph-doc/docs/entities/factory.md
2021-06-04 10:48:41 +02:00

35 lines
772 B
Markdown

# Factory
Each entity should have a factory that helps to generate a new entity.
A factory must implements `App\Core\Factory\FactoryInterface`.
## Generation
A factory is basically a service which contain at lease a method named `create`.
The generation is performed in CLI. These information are required:
* The name of the futur factory (eg: `MyEntityFactory`)
* The namespace of the entity (eg: `MyEntity`)
Simply run `php bin/console make:factory`.
## Usage
```
// src/Controller/FooController.php
namespace App\Controller;
use App\Factory\MyEntityFactory;
use Symfony\Component\HttpFoundation\Response;
class FooController
{
public function foo(MyEntityFactory $factory): Response
{
$entity = $factory->create();
// ...
}
}
```