Skip to content

Kocal/phpstan-webmozart-assert

This branch is 154 commits behind phpstan/phpstan-webmozart-assert:2.0.x.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a3960f8 · Apr 30, 2021

History

58 Commits
Apr 30, 2021
Dec 12, 2020
Jan 31, 2021
May 4, 2020
Feb 17, 2021
Apr 16, 2018
Apr 16, 2018
Apr 16, 2018
Jan 29, 2021
Dec 12, 2020
Jan 29, 2021
May 4, 2020
Dec 12, 2020
Nov 26, 2019

Repository files navigation

PHPStan webmozart/assert extension

Build Latest Stable Version License

Description

The main scope of this extension is to help phpstan to detect the type of object after the Webmozart\Assert validation.

<?php declare(strict_types = 1);

use Webmozart\Assert;

function demo(?int $a) {
	// ...

	Assert::integer($a);
	// phpstan is now aware that $a can no longer be `null` at this point

	return ($a === 10);
}

This extension specifies types of values passed to:

  • Assert::integer
  • Assert::string
  • Assert::stringNotEmpty
  • Assert::float
  • Assert::numeric
  • Assert::integerish
  • Assert::boolean
  • Assert::scalar
  • Assert::object
  • Assert::resource
  • Assert::isCallable
  • Assert::isArray
  • Assert::isIterable
  • Assert::isCountable
  • Assert::isInstanceOf
  • Assert::notInstanceOf
  • Assert::subclassOf
  • Assert::true
  • Assert::false
  • Assert::notFalse
  • Assert::null
  • Assert::notNull
  • Assert::same
  • Assert::notSame
  • Assert::implementsInterface
  • Assert::classExists
  • Assert::minCount
  • nullOr* and all* variants of the above methods

Installation

To use this extension, require it in Composer:

composer require --dev phpstan/phpstan-webmozart-assert

If you also install phpstan/extension-installer then you're all set!

Manual installation

If you don't want to use phpstan/extension-installer, include extension.neon in your project's PHPStan config:

includes:
    - vendor/phpstan/phpstan-webmozart-assert/extension.neon

About

PHPStan extension for webmozart/assert

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%