A opinionated and fast static analyzer for PHP.

Overview

Build Docker

TLDR; A static analyzer for PHP. It helps you catch common mistakes in your PHP code.

These are the current checks implemented.

  • Extending undefined classes.
  • Methods without modifiers(private, public & protected).
  • Classes that start with a lowercase.
  • Check if method exists when being 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.

How to compile and run

To successfully run this project you will need to first install the rust toolchain. If everything was installed successfully you will need to download this project and run cargo build. This command will compile the source code and create an executable. The executable is located inside the target/debug folder. Run this executable inside of your PHP project.

Container

You can also use the docker image. Run the docker images inside your PHP project.

$ docker run -v $(pwd):/var/src ghcr.io/denzyldick/phanalist:latest

Preview

In this example phanalist is analysing 1 php file.

You might also like...
A simple, fast, and easy to use static file server

Warning This is still in early development, I would not recommend for production use.. yet. See the issues for things that are on the "roadmap" or mis

A lightweight, opinionated CQRS and event sourcing framework targeting serverless architectures.

cqrs A lightweight, opinionated CQRS and event sourcing framework targeting serverless architectures. Command Query Responsibility Segregation (CQRS)

MinMon - an opinionated minimal monitoring and alarming tool

MinMon - an opinionated minimal monitoring and alarming tool (for Linux) This tool is just a single binary and a config file. No database, no GUI, no

Pure-Rust implementation of Fast Static Symbol Tables string compression

fsst-rs A pure-Rust, zero-dependency implementation of the FSST string compression algorithm. FSST is a string compression algorithm meant for use in

A very opinionated, zero-configuration shell prompt
A very opinionated, zero-configuration shell prompt

A very opinionated, zero-configuration shell prompt

Beautiful, minimal, opinionated CLI prompts inspired by the Clack NPM package
Beautiful, minimal, opinionated CLI prompts inspired by the Clack NPM package

Effortlessly build beautiful command-line apps with Rust 🦀 ✨ Beautiful, minimal, opinionated CLI prompts inspired by the @clack/prompts npm package.

Opinionated set of extensions for use with rust-script

rust-script-ext Opinionated set of extensions for use with rust-script. Using rust-script to run Rust like a shell script is great! This crate provide

Opinionated, zero-config linter for JavaScript monorepos
Opinionated, zero-config linter for JavaScript monorepos

Sherif: Opinionated, zero-config linter for JavaScript monorepos About Sherif is an opinionated, zero-config linter for JavaScript monorepos. It runs

A simple, opinionated way to run containers for tests in your Rust project.

rustainers rustainers is a simple, opinionated way to run containers for tests. TLDR More information about this crate can be found in the crate docum

Releases(v0.1.12)
Owner
Denzyl Dick
Hey! Welcome to my GitHub page.
Denzyl Dick
A superset of PHP with extended syntax and runtime capabilities.

PXP PXP is a superset of the PHP programming language that provides an extended set of syntax rules and language features to improve developer experie

PXP 188 Jan 29, 2023
A small subset of PHP implemented in Rust. 🐘

microphp A small subset of PHP implemented in Rust. About This project aims to implement a small subset of PHP's feature-set using a Rust powered pars

Ryan Chandler 5 Feb 7, 2022
Generate PHP code from Rust using a fluent API 🐘 🦀

PHP-Codegen Generate PHP code from Rust using a fluent API ?? ?? Rust PHP Usage To bring this crate into your repository, either add php_codegen to yo

PHP Rust Tools 7 Dec 24, 2022
Lapce plugin for the Php language.

lapce-php-intelephense Lapce plugin for the Php language. Prerequisites Install Intelephense, typically by running: $ npm i intelephense -g Settings S

null 3 Jan 9, 2023
PHP++ short for redditlang is a language created by the r/ProgrammerHumor subreddit discord members

RedditLang PHL ( ProgrammerHumor language ) or RedditLang is a language created by the r/ProgrammerHumor discord! The spec is avaliable here Why Reddi

elijah629 10 Jun 23, 2023
Use any async Rust library from PHP!

php-tokio - Use any async Rust library from PHP! Created by Daniil Gentili (@danog). This library allows you to use any async rust library from PHP, a

Daniil Gentili 242 Sep 7, 2023
Hashlink bytecode disassembler, analyzer, decompiler and assembler.

Hashlink bytecode This repository contains a collection of Rust crates and cli tools to load, disassemble, decompile and analyze Hashlink bytecode. Re

Guillaume Anthouard 24 Dec 21, 2022
A device-tree source parser, analyzer and language server.

Ginko A device-tree source parser, analyzer and language server. The main goal of this project is to make working with device-trees easy. For example,

Lukas Scheller 4 Feb 28, 2024
dua (-> Disk Usage Analyzer) is a tool to conveniently learn about the usage of disk space of a given directory

dua (-> Disk Usage Analyzer) is a tool to conveniently learn about the usage of disk space of a given directory. It's parallel by default and will max

Sebastian Thiel 1.8k Jan 2, 2023
High-Speed Memory Scanner & Analyzer with REST API.

memory-server High-Speed Memory Scanner & Analyzer with REST API. Usage iOS Jailbreaking of iphone is required. Place your PC and iphone in the same n

Kenjiro Ichise 8 Jul 12, 2023