thenlabs / class-builder
Dynamic management of classes, traits and interfaces in PHP.
v1.0.10
2022-05-13 22:27 UTC
Requires
- php: >=7.2
Requires (Dev)
- doctrine/annotations: ^1.8
- friendsofphp/php-cs-fixer: ^3.2
- thenlabs/pyramidal-tests: 2.0.x-dev
README
Dynamic management of classes, traits and interfaces in PHP.
If you like this project gift us a ⭐.
Documentation.
- English (Pending)
- Español
Installation.
$ composer require thenlabs/class-builder
Require PHP >= 7.2
Example.
The next example shows a way to create dinamically a PHP class using our ClassBuilder
.
<?php use ThenLabs\ClassBuilder\ClassBuilder; $personClass = new ClassBuilder('Person'); $personClass->setNamespace('ThenLabs\Demo'); $personClass->addProperty('name')->setAccess('protected'); $personClass->addMethod('__construct', function (string $name) { $this->name = $name; }); $personClass->addMethod('getName', function (): string { return $this->name; }); $personClass->install(); $andy = new Person('Andy'); $andy->getName() === 'Andy'; // true $andy instanceof \ThenLabs\Demo\Person; // true
Development.
Clone this repository and install the Composer dependencies.
$ composer install
Running the tests.
All the tests of this project was written with our testing framework PyramidalTests wich is based on PHPUnit.
Run tests:
$ composer test