PHPackages                             mglaman/phpstan-civicrm - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. mglaman/phpstan-civicrm

ActivePhpstan-extension[Testing &amp; Quality](/categories/testing)

mglaman/phpstan-civicrm
=======================

Extension for \[PHPStan\](https://phpstan.org) to allow static analysis of CiviCRM.

0.12.0(5y ago)222MITPHPPHP ^7.1

Since Nov 1Pushed 5y ago1 watchersCompare

[ Source](https://github.com/mglaman/phpstan-civicrm)[ Packagist](https://packagist.org/packages/mglaman/phpstan-civicrm)[ GitHub Sponsors](https://github.com/mglaman)[ Fund](https://ko-fi.com/mglaman)[ RSS](/packages/mglaman-phpstan-civicrm/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (6)Versions (2)Used By (0)

phpstan-civicrm
===============

[](#phpstan-civicrm)

Extension for [PHPStan](https://phpstan.org) to allow static analysis of CiviCRM.

Sponsors
--------

[](#sponsors)

The PHPStan CiviCRM was created through a sponsorship by [Megaphone Technology Consulting](https://megaphonetech.com/) 🎉

Configuration
-------------

[](#configuration)

To use the PHPStan CiviCRM extension, you must define the root location of CiviCRM.

```
parameters:
    civicrm:
        root: sites/all/modules/civicrm

```

The default value expects CiviCRM to live in the Composer vendor directory, like it does for Drupal 8.

```
%currentWorkingDirectory%/vendor/civicrm/civicrm-core

```

The `civicrm.root` parameter this is equal to `$civicrm_root` as defined in the CMS integration settings. Here are some examples assuming your CMS is installed at `/var/www/htdocs`.

- Drupal 7: `/var/www/htdocs/drupal/sites/all/modules/civicrm/`
- Drupal 8: `/vendor/civicrm/civicrm-core`
- Backdrop: `/var/www/htdocs/backdrop/modules/civicrm/`
- Joomla: `/var/www/htdocs/joomla/administrator/components/com_civicrm/civicrm/`
- WordPress: `/var/www/htdocs/wordpress/wp-content/plugins/civicrm/civicrm/`

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2069d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/98c03d4d2a6aa9b5ecdfc565e8f90f53f0a8f6c2757048a148b34b166d78266c?d=identicon)[mglaman](/maintainers/mglaman)

---

Top Contributors

[![mglaman](https://avatars.githubusercontent.com/u/3698644?v=4)](https://github.com/mglaman "mglaman (8 commits)")

---

Tags

civicrmphpstanphpstan-extension

###  Code Quality

TestsPHPUnit

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mglaman-phpstan-civicrm/health.svg)

```
[![Health](https://phpackages.com/badges/mglaman-phpstan-civicrm/health.svg)](https://phpackages.com/packages/mglaman-phpstan-civicrm)
```

###  Alternatives

[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.5k55.4M8.2k](/packages/larastan-larastan)[phpstan/phpstan-symfony

Symfony Framework extensions and rules for PHPStan

79475.7M2.1k](/packages/phpstan-phpstan-symfony)[phpstan/phpstan-doctrine

Doctrine extensions for PHPStan

67272.8M1.4k](/packages/phpstan-phpstan-doctrine)[shipmonk/dead-code-detector

Dead code detector to find unused PHP code via PHPStan extension. Can automatically remove dead PHP code. Supports libraries like Symfony, Doctrine, PHPUnit etc. Detects dead cycles. Can detect dead code that is tested.

4853.5M90](/packages/shipmonk-dead-code-detector)[spaze/phpstan-disallowed-calls

PHPStan rules to detect disallowed method &amp; function calls, constant, namespace, attribute, property &amp; superglobal usages, with powerful rules to re-allow a call or a usage in places where it should be allowed.

33422.6M539](/packages/spaze-phpstan-disallowed-calls)[tomasvotruba/cognitive-complexity

PHPStan rules to measure cognitive complexity of your classes and methods

1635.6M284](/packages/tomasvotruba-cognitive-complexity)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
