phpstan/phpstan-beberlei-assert

PHPStan beberlei/assert extension

Installs: 492 372

Dependents: 45

Suggesters: 0

Security: 0

Stars: 22

Watchers: 4

Forks: 7

Open Issues: 3

Type:phpstan-extension

0.12.3 2020-07-21 14:54 UTC

This package is auto-updated.

Last update: 2020-09-25 15:57:38 UTC


README

Build Status Latest Stable Version License

Description

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

<?php declare(strict_types = 1);
use Assert\Assertion;

function demo(?int $a) {
	// ...
  
	Assertion::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:

  • Assertion::integer
  • Assertion::string
  • Assertion::float
  • Assertion::numeric
  • Assertion::boolean
  • Assertion::scalar
  • Assertion::objectOrClass
  • Assertion::isResource
  • Assertion::isCallable
  • Assertion::isArray
  • Assertion::isInstanceOf
  • Assertion::notIsInstanceOf
  • Assertion::subclassOf
  • Assertion::true
  • Assertion::false
  • Assertion::null
  • Assertion::notNull
  • Assertion::same
  • Assertion::notSame
  • Assertion::isJsonString
  • nullOr* and all* variants of the above methods

Assert::that, Assert::thatNullOr and Assert::thatAll chaining methods are also supported.

Assert\that, Assert\thatNullOr and Assert\thatAll functions are supported too.

Installation

To use this extension, require it in Composer:

composer require --dev phpstan/phpstan-beberlei-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-beberlei-assert/extension.neon