Download the PHP package wieni/wmmodel_factory without Composer
On this page you can find all versions of the php package wieni/wmmodel_factory. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download wieni/wmmodel_factory
More information about wieni/wmmodel_factory
Files in wieni/wmmodel_factory
Package wmmodel_factory
Short Description Define factories that allow you to generate entities with certain fields, filled with random data
License MIT
Informations about the package wmmodel_factory
wmmodel_factory
Define factories that allow you to generate entities with certain fields, filled with random data
Why?
- The built-in way to generate random entities,
ContentEntityStorageInterface::createWithSampleValues
, is lacking in a lot of ways: it is untested, has a lot of issues and is not very flexible. - Use the same API as Laravel's model factories
- Generate realistic content tailored to the entity type using the Faker library.
Installation
This package requires PHP 7.1 and Drupal 8 or higher. It can be installed using Composer:
How does it work?
Creating factories
Factories are the classes responsible for generating the data that will be used to fill the fields of the newly created entity.
Factories for certain entity type / bundle combinations can be added by
creating plugins with the @EntityFactory
annotation, defining the entity
type ID in the entity_type
parameter and the bundle in the bundle
parameter. The class should also implement the EntityFactoryInterface
interface.
It's also possible to create multiple factories for the same entity type /
bundle combination by giving them unique names through the name
annotation parameter.
Example
Creating states
States allow you to define discrete modifications that can be applied to
your model factories in any combination. For example, your Page model might
have an unpublished
state that modifies one of its default attribute values.
States for certain entity type / bundle combinations can be added by
creating plugins with the @EntityState
annotation, defining the entity
type ID in the entity_type
parameter, the bundle in the bundle
parameter and a unique name in the name
parameter. The class should also
implement the EntityStateInterface
interface.
Example
Generating entities
TODO
Changelog
All notable changes to this project will be documented in the CHANGELOG file.
Security
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
License
Distributed under the MIT License. See the LICENSE file for more information.