2017 © Pedro Peláez
 

library phpstan-nette

Nette Framework class reflection extension for PHPStan

image

phpstan/phpstan-nette

Nette Framework class reflection extension for PHPStan

  • Tuesday, July 10, 2018
  • by ondrejmirtes
  • Repository
  • 9 Watchers
  • 25 Stars
  • 97,750 Installations
  • PHP
  • 46 Dependents
  • 0 Suggesters
  • 14 Forks
  • 1 Open issues
  • 19 Versions
  • 17 % Grown

The README.md

Nette Framework extension for PHPStan

Build Latest Stable Version License, (*1)

This extension provides following features:, (*2)

  • Nette\ComponentModel\Container::getComponent() knows type of the component because it reads the return type on createComponent* (this works best in presenters and controls)
  • Nette\DI\Container::getByType and createInstance return type based on first parameter (Foo::class).
  • Nette\Forms\Container::getValues return type based on $asArray parameter.
  • Nette\ComponentModel\Component::lookup return type based on $throw parameter.
  • Nette\Application\UI\Component::getPresenter return type based on $throw parameter.
  • Dynamic methods of Nette\Utils\Html
  • Magic Nette\Object and Nette\SmartObject properties
  • Event listeners through the on* properties
  • Defines early terminating method calls for Presenter methods to prevent Undefined variable errors
  • Understand the exact array shape coming from Nette\Utils\Strings::match() and Nette\Utils\Strings::matchAll() based on pattern

It also contains these framework-specific rules (can be enabled separately):, (*3)

  • Do not extend Nette\Object, use Nette\SmartObject trait instead
  • Rethrow exceptions that are always meant to be rethrown (like AbortException)

Installation

To use this extension, require it in Composer:, (*4)

composer require --dev phpstan/phpstan-nette

If you also install phpstan/extension-installer then you're all set!, (*5)

Manual installation
, (*6)

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

includes:
    - vendor/phpstan/phpstan-nette/extension.neon

To perform framework-specific checks, include also this file:, (*8)

    - vendor/phpstan/phpstan-nette/rules.neon

, (*9)

The Versions