Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prolic/fpp
Functional PHP Preprocessor - Generate Immutable Data Types
https://github.com/prolic/fpp
code-generation code-generator datatypes ddd enum functional immutable php prooph
Last synced: 5 days ago
JSON representation
Functional PHP Preprocessor - Generate Immutable Data Types
- Host: GitHub
- URL: https://github.com/prolic/fpp
- Owner: prolic
- License: bsd-3-clause
- Created: 2018-02-09T13:58:33.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-10T09:57:48.000Z (almost 2 years ago)
- Last Synced: 2024-10-09T10:12:28.871Z (3 months ago)
- Topics: code-generation, code-generator, datatypes, ddd, enum, functional, immutable, php, prooph
- Language: PHP
- Homepage:
- Size: 1.4 MB
- Stars: 285
- Watchers: 16
- Forks: 26
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# FPP
## Functional PHP Preprocessor - Immutable data type generator
This library can generate immutable data types based on fpp definitions. The syntax is inspired by Haskell.
[![Build Status](https://travis-ci.org/prolic/fpp.svg?branch=master)](https://travis-ci.org/prolic/fpp)
[![Coverage Status](https://coveralls.io/repos/github/prolic/fpp/badge.svg?branch=master)](https://coveralls.io/github/prolic/fpp?branch=master)## Sponsor
If you want to support my work, become a patron at [patreon.com/prolic](https://www.patreon.com/notifications).
## Credits
[Marcello Duarte](https://github.com/MarcelloDuarte/) created the [ParserCombinators](https://github.com/MarcelloDuarte/ParserCombinators/) project in 2017.
The rewrite of this library is heavily inspired by it and reuses some of its base functions.## Docs
[See the docs here](https://github.com/prolic/fpp/tree/master/docs/Home.md)
## Install
```console
composer require prolic/fpp dev-master
```## Usage
Disable xdebug or increase xdebug.max_nesting_level in your php.ini file.
```php
php vendor/bin/fpp.php
```## Generate configuration
```php
php vendor/bin/fpp.php --gen-config
```You can then modify the config file to adjust to your needs.
## Changes from 0.1.0 Release
This library has been rewritten from scratch. If you want to use the old version, pin your composer requirement to 0.1.0.
The master branch is not compatible at all.