ext-php-rs
phabel
ext-php-rs | phabel | |
---|---|---|
4 | 6 | |
531 | 242 | |
- | 0.8% | |
9.2 | 0.0 | |
about 2 months ago | over 1 year ago | |
Rust | PHP | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ext-php-rs
-
PHP-Tokio – Use any async Rust library from PHP
The PHP <-> Rust bindings are provided by https://github.com/Nicelocal/ext-php-rs/ (our fork of https://github.com/davidcole1340/ext-php-rs with a bunch of UX improvements :).
php-tokio's integrates the https://revolt.run event loop with the https://tokio.rs event loop; async functionality is provided by the two event loops, in combination with PHP fibers through revolt's suspension API (I could've directly used the PHP Fiber API to provide coroutine suspension, but it was a tad easier with revolt's suspension API (https://revolt.run/fibers), since it also handles the base case of suspension in the main fiber).
-
OK so whose gonna tell them
Real chads write PHP websites and extend it with Rust
- Bindings for the Zend API to build PHP extensions natively in Rust
- ext-php-rs - Writing PHP extensions in Rust
phabel
-
PHP-Tokio – Use any async Rust library from PHP
Yeah I'm aware of Rector, there's a funny story here, I actually created https://github.com/phabelio/phabel which does the same thing as Rector, but @ installation time (fully integrated with Composer!): I created because I simply did not know about its existence, or else I would've just used it, instead :)
Rector is a very nice project, but I still haven't gotten around to integrating it into our codebase at work, because it uses phpstan instead of Psalm, and apart from being slower than Psalm, phpstan kept having various issues and crashes while scanning our codebase, unlike Psalm which mostly worked out of the box (I even became maintainer of Psalm, due to the large amount of additional performance improvements I added due to our needs @ work).
-
Can We Develop in PHP 8.1 and Still Output PHP 7.4 Code?
I have found this: https://github.com/phabelio/phabel but it only handles up to PHP 8.0.
- Phabel: Convert PHP8 syntax into lower versions
- Phabel: Convert PHP8 features into lower versions
- Async/await support in PHP with a transpiler
- Phabel PHP transpiler – Write and deploy modern PHP 8 code, today
What are some alternatives?
phanalist - Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes in your PHP code.
polyfill - PHP polyfills
unixstring - An FFI-friendly null-terminated byte string
php-tokio - Use any async Rust library from PHP!
ext-php-rs - Bindings for the Zend API to build PHP extensions natively in Rust.
rector-downgrade-php - Rector downgrade rules for PHP
rust-php-ext - Rust library integrated into a PHP extension
Composer - Dependency Manager for PHP
tomlrs-php - Rust extension to bring fast TOML parsing to PHP
php-async - Experimental asynchronous components for PHP
linux - Linux kernel source tree