ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááŒá±á¬ááºááŸá áºá¡ááŒá¬ááœááºá áááºááŒáááºáá±á¬ááœá²ááŒááºážá áááºááŒá¬ááŸá¯ PHPStan 1.0 áááááá¯á¶ážáááºááŒáááºáá±á¬áá¯ááºááœáŸááºááŸá¯ááẠPHP áá¯ááºááœááºá¡ááŸá¬ážá¡ááœááºážáá»á¬ážááá¯áá¯ááºáá±á¬ááºááŒá®ážáá°áá áºá á áºáá±ážááŸá¯áá»á¬ážááá¯ááá¯á¶ážáá² PHP ááœááºá¡ááŸá¬ážá¡ááœááºážáá»á¬ážááá¯ááŸá¬ááœá±ááá¯ááºá á±áááºá ááá±á¬áá»ááºáá¯ááºááᯠPHP ááŒáá·áºáá±ážáá¬ážáá¬ážááŒá®áž MIT ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáááºá
ááœá²ááŒááºážá áááºááŒá¬áá°ááẠá á áºáá±ážááŒááºážá¡ááá·áº 10 ááᯠáá¶á·ááá¯ážáá±ážáááºá áááºážááœáẠáá±á¬ááºá¡ááá·áºáá áºáá¯á á®ááẠááááºáá áºáá¯áá áœááºážáááºáá»á¬ážááᯠáá»á²á·ááœááºáᬠááá¯ááá¯áááºážááŒááºáá±á¬á á áºáá±ážááŸá¯áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááº-
á¡áááºážáá¶ááŒá¿áá¬áá»á¬áž á¥ááá¬áá»á¬ážááᯠáá±á¬áºáá¯ááºáá¬ážáááº-
- á¥ááá¬á áááºážá á¡áá»áá¯ážá¡á á¬ážááŸáá·áº á¡ááŒá¬ážáá¬áá¬á áá¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááá·áº á¡áááºážáá»á¬ážáááºááŸáááŒááºážá
- áááºááŸáááŸá¯ááŸáá·áº áááŸáááá¯ááºááŸá¯ááá¯á·ááᯠáá±á«áºáá±á¬ áááºážáááºážáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááŒáẠááŒááºážáá¯á¶ááŸá¯á¡áá±á¡ááœááºááᯠáá»á±á¬áºááœááºááœá¬ážáá²á·áááºá
- áááºážáááºážááẠreturn expression ááœáẠáááºááŸááºáá¬ážááá·áºá¡ááá¯ááºáž á¡áá»áá¯ážá¡á á¬ážáá° áá±áá¬ááᯠááŒááºáá±ážááŒá±á¬ááºáž á á áºáá±ážááŒááºážá
- áááºáá±á¬ááºá¡áá¯á¶ážááŒá¯áá±áá±á¬ áá¯ááºááá¹áááá»á¬ážá ááŒá áºáááºááŸá¯ááŸáá·áº ááŒááºááá¯ááºá áœááºážá áá¯ááºááá¹áááá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áá¬ážáá±á¬ ááŒá±áá¬áá¬ážáá±á¬ááŸáá·áº á¡ááŸááºáááẠáá±áá¬á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠá á áºáá±ážááŒááºážá
- string áá±á¬áºáááºáá¯ááºááœááºááŸá sprintf/printf áá±á«áºááá¯ááŸá¯áá»á¬ážááá¯á· áá±ážááá¯á·áá±á¬ ááá·áºáááºáá»ááºáá»á¬áž á¡áá±á¡ááœááºááẠááŸááºáááºáá«áááºá
- á¡ááá¯ááºážá¡ááẠá¡á±á¬áºááá±áá¬áá»á¬ážááŸáá·áº ááœááºážáááºáá»á¬ážááŒáá·áº ááœá²á·á ááºážáá¬ážááá·áº áá±á¬ááºáá»á¬ážááᯠááá·áºááœááºážááœááºáá»ááºááá·áº ááááºážááŸááºáá»á¬áž áááºááŸáááŸá¯á
- á¡áá¯á¶ážááá»áá±á¬ á¡áá»áá¯ážá¡á á¬áž áá¬á áºáá»á¬áž (á¥ááᬠ"(string) 'foo'") ááŸáá·áº á¡ááŒá²áááºáž ááŸá¬ážááœááºážáá±á¬ á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááŸáá·áº á á®á á¥áºáá¬ážáá±á¬ áá±áá¬áá»á¬ážááœáẠáááºážáá»ááºáá±á¬ á ááºážáááºááŸá¯áá»á¬áž ("===" ááŸáá·áº "!==")á
PHPStan 1.0 ááœáẠá¡ááá áá®ááœááºáááºážáá áºááŸá¯áá»á¬áž-
- áá¯ááºáá±á¬ááºáá»ááºá ááá·áºáááºáá»ááºáá»á¬ážááᯠá¡áá»áá¯ážáá»áá¯ážáá±á¬ á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááŒáá·áº á á¯á ááºážáááºá¡ááœáẠáááºááœááºááá·áº "áá±á¬ááŸá±á¬áá¬ážáá±á¬" á¡áá»áá¯ážá¡á á¬ážá¡áá¯á¶ážááŒá¯ááŸá¯ááᯠá á áºáá±ážááá·áº "9" á á áºáá±ážááŸá¯á¡ááá·áºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá á¡ááá·áº XNUMX ááẠ"áá±á¬ááŸá±á¬áá¬ážáá±á¬" á¡áá»áá¯ážá¡á á¬ážááááºááá¯ážáá»á¬ážááᯠá¡ááŒá¬ážá¡áá»áá¯ážá¡á á¬ážááá¯á· ááŒááºááœá¬ážááŒááºážá "áá±á¬ááŸá±á¬áá¬ážáá±á¬" á¡áá»áá¯ážá¡á á¬ážááᯠáá±á«áºááá·áºáááºážáááºážáá»á¬ážááŸáá·áº áááºážááá¯á·ááááºááŸáááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááá¯ááºááá¹áááá»á¬ážááᯠáááºáá±á¬ááºáá¯á¶ážá áœá²ááŒááºážáá²á·ááá¯á·áá±á¬ á¡áá¹ááá¬ááºááááºážáá±á¬á¡áá¯á¶ážááŒá¯ááŸá¯áá»á¬ážááᯠááœá²ááŒá¬ážáááºááŸááºáááºá
- @phpstan-pure ááŸáá·áº @phpstan-impure ááŸááºáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá°áá®áá±á¬áá¯ááºáá±á¬ááºáá»ááºáá±á«áºááá¯ááŸá¯áá»á¬ážá¡ááœáẠááŒááºáááºááá¯ážáá»á¬ážááẠáá°áá®ááŸá¯ááŸááááŸá ááááºážáá»á¯ááºáá«á
- @throws ááŸááºáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á try-catch-áá±á¬ááºáá¯á¶ážááœáẠáááºáá±á¬ááºááŸá¯ááœáẠááœá²ááŒááºážá áááºááŒá¬ááŸá¯ááᯠááá¯ááºááá·áºáá«á
- áááºááŸááºáá¬ážáá±á¬áºáááºáž á¡áá¯á¶ážáááŒá¯áá±á¬ á¡ááœááºážááá¯ááºáž (áá¯áá¹áááá) áá¯ááºááá¹áááá»á¬ážá áááºážáááºážáá»á¬ážááŸáá·áº ááááºážáá±áá»á¬ážááᯠáá±á¬áºáá¯ááºááŒááºážá
- array_map ááŸáá·áº usort áá²á·ááá¯á·áá±á¬ array functions áá»á¬ážááá¯á· ááá¯ááºáááºááŸá¯áááŸááá±á¬ callbacks áá»á¬ážááᯠáá±ážááá¯á·ááŒááºážá
- áá»á±á¬ááºáá¯á¶ážáá±áá±á¬ typehint ááŸááºáá»ááºáá»á¬ážá¡ááœáẠá¡áá»áá¯ážá¡á á¬ážá á áºáá±ážááŒááºážá
- PHPDocs ááœáẠerror message á¡áá»áá¯ážá¡á á¬ážáá»á¬ážá០á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠPHPDocs ááœááºá¡áá¯á¶ážááŒá¯ááá¯ááºá á±áááºá¡ááœáẠá¡áá»áá¯ážá¡á á¬ážááŒá±ááŒá¬áá»ááºáá»á¬ážááᯠááŒá¯áá¯ááºáá¬ážáááºá
source: opennet.ru