mir
Install
Section titled “Install”composer require --dev miropen/mir-phpvendor/bin/mir src/cargo install mir-phpmir src/git clone https://github.com/jorgsowa/mir.gitcd mir && cargo build --release./target/release/mir src/What mir reports
Section titled “What mir reports”src/Controller/UserController.php:42:5 UndefinedMethod Method User::getName() does not existsrc/Service/Mailer.php:17:12 InvalidArgument Argument 1 of sendMessage expects string, int providedsrc/Domain/Order.php:88:9 NullMethodCall Cannot call method on possibly null valuesrc/Http/Search.php:23:14 TaintedSql Tainted data from $_GET flows into SQL sink
4 errors in 312 files · 0.42sBrowse by category
Section titled “Browse by category”UndefinedMissing variables, functions, methods, classes, properties, constants.
NullabilityNull arguments, dereferences, returns; possibly-null variants.
Type mismatchesArguments, return types, casts, operands, by-reference passing.
ArrayInvalid offsets and access on possibly-missing keys.
RedundancyConditions that can't fail, casts and annotations that do nothing.
Dead codeUnused variables, parameters, methods, properties, functions; unreachable code.
InheritanceAbstract / interface compliance, signature and visibility mismatches, final violations.
SecurityTaint analysis from `$_GET` / `$_POST` to HTML, SQL, and shell sinks.
Generics`@template` parameter constraint and substitution checks.
OtherDeprecations, internal access, throws, readonly, parse and docblock errors.
Get going
Section titled “Get going”Getting StartedInstall, run your first analysis, understand the output.
Configuration`mir.xml`, error levels, issue handlers, baselines.
CLI ReferenceEvery flag, output format, exit code.
ArchitectureHow mir is built: Salsa, passes, caching.
