Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

herndlm/phpstan-beberlei-assert

Open more actions menu
 
 

Repository files navigation

PHPStan beberlei/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 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::integerish
  • 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

About

PHPStan extension for beberlei/assert

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 98.7%
  • Makefile 1.3%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.