Psalm plugins

These plugins allow Psalm to work great with popular packages like Laravel, PHPUnit, and Symfony.

Have a look at Psalm’s documentation to find out how to install and use them.

psalm/plugin-phpunit

1,005,885 77

Psalm plugin for PHPUnit

psalm/plugin-symfony

264,253 233

Psalm Plugin for Symfony

psalm/plugin-laravel

137,493 318

Psalm plugin for Laravel

patchlevel/event-sourcing-psalm-plugin

97,915 6

psalm plugin for patchlevel/event-sourcing

weirdan/doctrine-psalm-plugin

97,654 86

Stubs to let Psalm understand Doctrine better

cspray/phinal

78,731 13

Enforce final on your classes!

php-standard-library/psalm-plugin

58,018 24

Psalm plugin for the PHP Standard Library

psalm/plugin-mockery

30,155 10

Psalm plugin for Mockery

orklah/psalm-insane-comparison

22,780 34

Detects possible insane comparison ("string" == 0) to help migrate to PHP8

dq5studios/psalm-junit

15,112 4

Add junit report format to psalm

orklah/psalm-strict-equality

12,489 7

Automatically change == into === when safe

lctrs/psalm-psr-container-plugin

9,596 16

Let Psalm understand better psr11 containers

humanmade/psalm-plugin-wordpress

8,683 75

WordPress stubs and plugin for Psalm static analysis.

marartner/psalm-no-empty

3,378 4

Do not allow usage of empty()

alexeyshockov/guzzle-psalm-plugin

2,320 4

Guzzle type information for Psalm

marartner/psalm-strict-equality

2,230 4

Psalm plugin to enforce strict equality

boesing/psalm-plugin-stringf

1,767 12

Psalm plugin to work with `sprintf`, `printf`, `sscanf` and `fscanf`.

mortenson/psalm-plugin-drupal

1,388 44

Psalm support for Drupal security analysis.

tooeo/psalm-plugin-jms

1,207 1

Checking JMS annotation

redaxo/psalm-plugin

1,024 6

Psalm Plugin for REDAXO

practically/psalm-plugin-yii2

923 9

Psalm plugin for a better typed yii2 application

orklah/psalm-strict-numeric-cast

839 8

Restrict the use of (int) and (float) to numeric-string only

orklah/psalm-strict-visibility

802 8

A Psalm plugin to detect calling private or protected method via proxy

lordsimal/cakephp-psalm

616 2

A psalm-plugin for CakePHP

hectorj/safe-php-psalm-plugin

559 9

vimeo/psalm plugin for thecodingmachine/safe

orklah/psalm-not-empty

554 28

Automatically change empty() into a more explicit expression

fcpl/psalm-pimple-container-plugin

429 0

Psalm plugin to resolve return type for Pimple Container (ArrayAccess)

typhoon/check-visibility-psalm-plugin

332 5

Ensures classes and functions have @api or @internal annotation

magdv/psalm-plugin-yii2

319 0

Psalm plugin for a better typed yii2 application

orklah/psalm-strict-types

218 16

Adds strict_types declaration when the file is provably safe

someniatko/iter-psalm-plugin

180 0

nikic/iter type information for Psalm

the-toster/psalm-jms-serializer

135 2

Add return type typehints to deserialization methods

kafkiansky/service-locator-interrupter

120 8

Psalm plugin for Laravel that interrupt service locator calls.

glomberg/wpdb-unsafe-methods

69 0

Psalm plugin to forbid calling provided `$wpdb` methods

bafs/psalm-plugin-typecov

61 3

Get nice type coverage reports

guuzen/psalm-enum-plugin

61 0

Reports attempts to create enum with a wrong case

someniatko/result-type-psalm-plugin

57 0

Psalm plugin for someniatko/result-type library

runtothefather/doctrine-mongodb-psalm-plugin

46 7

Stubs to let Psalm understand Doctrine MongoDb ODM better

zolex/psalm-markdown-report

17 2

A Psalm plugin to write Markdown reports

kafkiansky/reduce-arguments

11 0

Psalm plugin that makes sure that you don't use too many arguments in functions and methods.

matthewbdaly/psalm-plugin-zendframework1

11 4

Psalm plugin for Zend Framework 1

michaelcozzolino/psalm-html-report

8 1

A Psalm plugin to generate the output in a formatted html table.

nederdirk/psalm-redis-stubs

7 1

Function signatures for the phpredis PECL package

typhoon/psalm-plugin

6 0

Typhoon Psalm Plugin

savinmikhail/symfony-translatable-exceptions

5 0

Make sure there's no hardcoded exception messages, only translated ones

leighman/psalm-plugin-todo-by

4 1

Support @todo-by docblock annotations

zadorin/bitrix-psalm-plugin

4 7

Psalm plugin for Bitrix Framework

klimick/psalm-show-type

3 2

Analog for psalm-trace but with pretty print

orklah/psalm-elvis-begone

3 7

Replace Elvis operator (?:) by null coalesce operator (??) when applicable

h4ck3r31/psalm-issue-filter-plugin

2 0

Allows to filter/skip code issues based on code snippets within PsalmPHP

h4ck3r31/psalm-static-plugin

2 0

Resolves static::class, self:class or parent::class references within PsalmPHP

orklah/psalm-type-setters-params

2 4

Use property type to fix param in the setter

weirdan/psalm-plugin-skeleton

2 10

Template to create psalm-plugin projects from

jmvdevelop/psalm-glob-stubs-plugin

1 1

Allow stubs with glob in your project

kafkiansky/forbid

1 0

A psalm plugin that finds and forbids code smells.

klebann/moodle-psalm-plugin

1 0

A Psalm plugin to detect unsafe usage of $DB methods with SQL

kvush/layer-violation-psalm-plugin

1 1

Detect layer dependency violation psalm-plugin

loot/spinoza

1 0

Package can generate documentation for service

orklah/psalm-use-constants

1 5

Fix the code to use existing constants instead of literals when available

patrickkusebauch/nette-psalm-plugin

1 1

Psalm plugin for Nette Framework

psalm/plugin-sabre-event

1 0

Psalm plugin for sabre/event

runtothefather/doctrine-psalm-plugin

1 7

Repository resolver to show psalm how to resolve getRepository method

seferov/symfony-psalm-plugin

1 6

Psalm Plugin for Symfony

sglitowitzsoci/soci-psalm-no-string-concatenation

1 0

SOCi Psalm Rule, no string concatenation

shahruslan/psalm-plugin-bitrix

1 0

Psalm plugin for CMS Bitrix

shoot/psalm-plugin

1 1

Provides static analysis for Shoot models and presenters

struggle-for-php/sfp-psalm-dont-operation-inside-constructor-plugin

1 2

Dont' operation inside constructor

struggle-for-php/sfp-psalm-psr-log-plugin

1 0

Stubs to let Psalm understand psr/log (PSR-3) strictly

struggle-for-php/sfp-psalm-typed-local-variable-plugin

1 16

finding mismatch type assignment in function/method scope with psalm

tdgroot/magento2-psalm

1 3

Psalm plugin for Magento 2

typesetsh/dynamic-property-access-assume-type

1 0

Psalm plugin to support dynamic property access and object crates. Used by typeset.sh

weirdan/psalm-doctrine-collections

1 50

Stubs to let Psalm understand Doctrine better

aivchen/psalm-forbidden-plugin

0 0

Psalm plugin to forbid inheritance for classes

alexeyshockov/iter-psalm-plugin

0 2

nikic/iter type information for Psalm

altahrim/nextcloud-psalm-plugin

0 0

Stubs for Nextcloud applications

bocmah/psalm-reactphp-mysql-plugin

0 0

Psalm plugin for react/mysql

bocmah/psalm-reactphp-promise-plugin

0 2

Psalm plugin for react/promise

brokeyourbike/plugin-laravel

0 2

A Laravel 8 plugin for Psalm. PHP 8 only.

dance-engineer/psalm-knapsack-collections

0 0

Stub to let Psalm understand Knapsack Collections better

el7cosmos/codeception-psalm-plugin

0 0

A Codeception plugin for psalm

fkupper/psalm-laravel-collections

0 8

Stubs to let Psalm understand Laravel Collections better

futurerockstars/nette-psalm-plugin

0 2

Psalm plugin for Nette Framework

mmcev106/psalm-playground-plugins

0 1

A tool for learning how to write Psalm plugins

mopman/funserialize

0 2

Psalm plugin to add sinks for all file functions that accept streams.

nulldark/plugin-mockery

0 0

Psalm plugin for Mockery

orklah/psalm-strict-types-empty-class

0 0

Add declaration of strict_types in empty class

samlitowitz/psalm-no-double-quoted-strings

0 2

Do not allow double-quoted strings

samlitowitz/psalm-no-variables-in-strings

0 3

Do not allow variables in strings

snowfall/phalcon-abstract-dispatcher

0 0

dispatcher with taint source for params

tuncay/psalm-wp-taint

0 3

A psalm plugin that adds stubs for psalm to define custom taint sinks for wordpress projects

visma/magento2-psalm

0 4

Psalm plugin for Magento 2

zerkms/symfony-psalm-plugin

0 2

Stubs for symfony interfaces