Download the PHP package neoan3-apps/transformer without Composer
On this page you can find all versions of the php package neoan3-apps/transformer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download neoan3-apps/transformer
More information about neoan3-apps/transformer
Files in neoan3-apps/transformer
Package transformer
Short Description Model abstraction utilizing neoan3's model transformers
License MIT
Informations about the package transformer
neoan3 Transformer handling
What it does
This app handles neoan3 transformers and automated crud-operations based on magic method handling.
Installation
composer require neoan3-apps/transformer
Preparation
You will need the following setup:
- Model
- Transformer
Model
A model (model/some/Some.model.php) can look like this
addMagic($method, $arguments, $customTransformerClass = false, $assumesUniqueIdsInDb = true, $customPathForMigrationJSON = false)
Can be placed in the callStatic of your neoan3 model.
$customTransformerClass traces to the model's transformer by default but can also be provided (e.g. SomeTransfomer::class).
$assumesUniqueIdsInDb defaults to true and assumes the BINARY(16) database-handling neoan3-apps/db (required) uses. If set to false, auto-incremented integers are expected.
$customPathForMigrationJSON can be used if migrate JSONs other than the one present in the model should be used for the transformer. This in not recommended.
$transformerInstance = new Transformer($customTransformerClass, $modelName, $assumesUniqueIdsInDb = true, $customPathForMigrationJSON = false)
Alternatively, you can create an instance of Transformer. Note that you have to provide the transformer (class) and model (string) in that case.
Transformer
A transformer (model/some/Some.transformer.php) can look like this
A transformer defines behavior for CRUD operations with the following listeners:
- on_read
- on_update
- on_creation
- on_delete
neoan3 model handling assumes every entity to have a master-table in the database and potential slave-tables associated with it. Whether of not a relation is one-to-one or one-to-many can be indicated by "depth" (one | many).