Dynamic management of classes, traits and interfaces in PHP.
If you like this project gift us a ⭐.
- English (Pending)
- Español
$ composer require thenlabs/class-builder
Require PHP >= 7.2
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
Clone this repository and install the Composer dependencies.
$ composer install
All the tests of this project was written with our testing framework PyramidalTests wich is based on PHPUnit.
Run tests:
$ composer test