1.2.1644. strict_types Preference

strict_types is a PHP mode where typehint are enforced strictly or weakly. By default, it is weak typing, allowing backward compatibility with previous versions.

This analysis reports if strict_types are used systematically or not. strict_types affects the calling file, not the definition file.

<?php

// define strict_types
declare(strict_types = 1);

foo(1);

?>

See also Strict typing.

1.2.1644.1. Suggestions

  • Use strict_types as early as possible in the development, to make it easier to adopt

1.2.1644.2. Specs

Short name

Php/DeclareStrict

Rulesets

All, Appinfo, CE, Changed Behavior, Preferences

Exakat since

0.12.2

PHP Version

With PHP 7.0 and more recent

Severity

Time To Fix

Precision

Very high

Features

strict_types

Available in

Entreprise Edition, Community Edition, Exakat Cloud