- Introduction
- Requirements
- Installation
- Documentation Publishing
- Usage
- Local Development
- Contributing
Transform a class into different types.
- PHP 7.1 or higher.
Install Zerotoprod\Transformable
via Composer:
composer require zero-to-prod/transformable
This will add the package to your project’s dependencies and create an autoloader entry for it.
- DataModel: Transform data into a class.
- DataModelHelper: Helpers for a
DataModel
. - DataModelFactory: A factory helper to set the value of your
DataModel
.
You can publish this README to your local documentation directory.
This can be useful for providing documentation for AI agents.
This can be done using the included script:
# Publish to default location (./docs/zero-to-prod/transformable)
vendor/bin/zero-to-prod-transformable
# Publish to custom directory
vendor/bin/zero-to-prod-transformable /path/to/your/docs
You can automatically publish documentation by adding the following to your composer.json
:
{
"scripts": {
"post-install-cmd": [
"zero-to-prod-transformable"
],
"post-update-cmd": [
"zero-to-prod-transformable"
]
}
}
To use the Zerotoprod\Transformable\Transformable
trait in your class, simply include it:
use Zerotoprod\Transformable\Transformable;
class YourDataModel
{
use Transformable;
public $name;
public $email;
}
$model = new YourDataModel();
$model->name = 'John Doe';
$model->email = '[email protected]';
$array = $model->toArray();
$json = $model->toJson();
toArray(): array
Converts the object’s properties into an associative array.toJson(): string
Converts the object’s properties into a JSON string.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page if you want to contribute.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.