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