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.
The project is it early stages. Right know the focus is on writing the checks that are needed. The current checks that are implemented are:
- Detect when the cyclomatic complexity of a method is too high. The current threshold is 10.
- Extending undefined classes.
- Having a try/catch with an empty catch that doesn't do anything.
- A method that has more than five parameters.
- Methods without modifiers(private, public & protected).
- Classes that start with a lowercase.
- Check if a method exists when called inside another method.
- Methods that return a value without defining a return type.
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.
The project is it early stages. Right know the focus is on writing the checks that are needed. The current checks that are implemented are:
- Detect when the cyclomatic complexity of a method is too high. The current threshold is 10.
- Extending undefined classes.
- Having a try/catch with an empty catch that doesn't do anything.
- A method that has more than five parameters.
- Methods without modifiers(private, public & protected).
- Classes that start with a lowercase.
- Check if a method exists when called inside another method.
- Methods that return a value without defining a return type.
- Constants that have all letters in lowercase.
- Parameters without any type.
- Correct location for the PHP opening tag.