Update README

This commit is contained in:
Daniil Gentili 2020-09-05 22:39:01 +02:00
parent 234f2c57a1
commit 93ec9722cd
Signed by: danog
GPG Key ID: 8C1BE3B34B230CA7
1 changed files with 3 additions and 4 deletions

View File

@ -2,9 +2,6 @@
**Write and deploy modern PHP 8 code, today.**
Created by [Daniil Gentili](https://daniil.it)
## WIP :)
This is a transpiler that will allow native usage of php8 features and especially syntax in projects and libraries, while allowing maintainers to publish a version targeting 7.0 or even lower versions of php.
@ -12,6 +9,8 @@ The transpiler will seamlessly hook into composer to transpile the package (and
This project is mostly ready, but I would love some feedback on design and APIs.
Created by [Daniil Gentili](https://daniil.it)
## Design
After [hooking into composer](https://github.com/danog/phabel/tree/master/src/Composer) by specifying a custom repository, the transpilation process begins.
@ -38,7 +37,7 @@ A second, optional parameter can be provided, to allow the [Traverser](https://g
#### 3.2 Plugin dependencies
Plugins can also specify other plugins as "dependencies" or "reverse dependencies", with the `runBefore` , `runAfter` , `runWithBefore` , `runWithAfter` methods, to force some transforms to run before others.
Plugins can also specify other plugins as "dependencies" or "reverse dependencies", with the `runBefore`, `runAfter`, `runWithBefore`, `runWithAfter` methods, to force some transforms to run before others.
By using the `*with*` methods, additional plugin graph optimization is allowed by merging multiple transforms in a single AST traversal.
Each [phabel plugin](https://github.com/danog/phabel/blob/master/src/PluginInterface.php) can also accept a configuration: this a simple way to reuse code, by specifying a single plugin for a class of transforms, and then requiring it from other plugins, specifying a specific configuration to trigger only certain transforms.