phanalist VS ext-php-rs

Compare phanalist vs ext-php-rs and see what are their differences.

phanalist

Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes in your PHP code. (by denzyldick)

ext-php-rs

Bindings for the Zend API to build PHP extensions natively in Rust. (by davidcole1340)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
phanalist ext-php-rs
5 5
108 534
- -
9.3 9.2
14 days ago 2 months ago
Rust Rust
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

phanalist

Posts with mentions or reviews of phanalist. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-12.
  • Traversing an AST of PHP source code.
    1 project | dev.to | 22 Jan 2024
    Phanalist needs a way to detect when we are in the function's scope with the name tooComplex(). With pattern matching, it is super easy to detect if the statement is either: if,else,etc.. The first statement that I want to match for is class Index{ and from there, we will continue down the tree. If you think the same way as I do you know that I will be using recursion to calculate the cyclomatic complexity. After we have matched the scope of the tooComplex() function.
  • How I made it impossible to write spaghetti code.
    1 project | dev.to | 20 Jan 2024
    In the following paragraph, we will see how phanalist can calculate the cyclomatic complexity of the scope of a method. Before creating Phanalist, I always kept the cyclomatic complexity of the methods I wrote in my mind. And if I see that the complexity is higher than 10. I always try to refactor the method, making it easier to understand.
  • Ask HN: Show me your half baked project
    163 projects | news.ycombinator.com | 12 Oct 2023
    https://github.com/denzyldick/phanalist

    I'm trying to write a static analyzer for PHP. It's written in RUST and it's a personal project of mine to learn rust and also make a FAST static analyzer for PHP projects that are big. I started with this project because the current static analyzers in the PHP ecosystem are slow.

    It would be nice if there were people that would like to contribute. If you want to learn rust and you have PHP experience you are welcome to help.

  • Ask HN: What's your most starred repo?
    4 projects | news.ycombinator.com | 24 Feb 2023
  • A new PHP static analyser(Phanalist)
    1 project | news.ycombinator.com | 23 Feb 2023

ext-php-rs

Posts with mentions or reviews of ext-php-rs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-27.
  • Symfony 7 vs. .NET 8 - same-same but different?
    1 project | dev.to | 3 May 2024
    I started with Rust a while ago. It's a beautiful language. My problem with it was the problem space it's good at addressing. I ended up not only trying to learn Rust but also wholly new paradigms related to writing low-level code, libraries, or even trying to write a PHP extension in Rust (that was way before https://github.com/davidcole1340/ext-php-rs). I learned a lot about PHP and Rust/C/PHP interoperability ;) But the learning curve was steep. In my opinion, it isn't easy to learn more than one thing simultaneously. A new language is enough. If, on top of that, you need to learn entirely new paradigms - it can be cumbersome.
  • PHP-Tokio – Use any async Rust library from PHP
    7 projects | news.ycombinator.com | 27 Aug 2023
    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
    5 projects | /r/rustjerk | 12 Mar 2023
    Real chads write PHP websites and extend it with Rust
  • Bindings for the Zend API to build PHP extensions natively in Rust
    2 projects | /r/PHP | 23 Apr 2022
  • ext-php-rs - Writing PHP extensions in Rust
    2 projects | /r/rust | 10 Nov 2021

What are some alternatives?

When comparing phanalist and ext-php-rs you can also consider the following projects:

php-malware-analysis - Deobfuscation and analysis of PHP malware captured by a WordPress honey pot

unixstring - An FFI-friendly null-terminated byte string

ext-php-rs - Bindings for the Zend API to build PHP extensions natively in Rust.

rust-php-ext - Rust library integrated into a PHP extension

tomlrs-php - Rust extension to bring fast TOML parsing to PHP

linux - Linux kernel source tree

php-tokio - Use any async Rust library from PHP!

PyO3 - Rust bindings for the Python interpreter

php-async - Experimental asynchronous components for PHP

phabel - PHP transpiler - Write and deploy modern PHP 8 code, today.

Psalm - A static analysis tool for finding errors in PHP applications