Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thenlabs/components

A custom implementation of the Composite pattern in PHP for create component types with useful functionalities.
https://github.com/thenlabs/components

component-architecture component-based component-library components components-library composite composite-pattern php php-library

Last synced: 14 days ago
JSON representation

A custom implementation of the Composite pattern in PHP for create component types with useful functionalities.

Awesome Lists containing this project

README

        

# Components

A custom implementation of the Composite pattern in PHP for create component types with useful functionalities.

>If you like this project gift us a ⭐.

## Features.

- PHP >= 7.2
- Two component types(simple and composite).
- Tree structure.
- Dependency management.
- Useful methods for filter and iterate over the tree.
- Events dispatching.
- Event propagation(capture and bubbling) across the tree.
- Support of custom data.

## Installation.

$ composer require thenlabs/components

## Documentation.

1. English (Pending)
2. [Español](https://github.com/thenlabs/doc/blob/master/components/1.0/en/index.md)

## 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][pyramidal-tests] wich is based on [PHPUnit][phpunit].

Run tests:

$ composer test

[phpunit]: https://phpunit.de
[pyramidal-tests]: https://github.com/thenlabs/pyramidal-tests