рдЫрд╣ рд╕рд╛рд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж, рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ PHPStan 1.0 рдХреА рдкрд╣рд▓реА рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рд╣реБрдИ, рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ PHP рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдвреВрдВрдврдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб PHP рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЬрд╛рдБрдЪ рдХреЗ 10 рд╕реНрддрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓рд╛ рд╕реНрддрд░ рдкрд┐рдЫрд▓реЗ рд╕реНрддрд░ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдХрдареЛрд░ рдЬрд╛рдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
рдкрд╣рдЪрд╛рдиреА рдЧрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
- рдЙрджрд╛рд╣рд░рдг, рдХреИрдЪ, рдЯрд╛рдЗрдкрд╣рд┐рдВрдЯ рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ред
- рдмреБрд▓рд╛рдП рдЧрдП рддрд░реАрдХреЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдФрд░ рдЙрдкрд▓рдмреНрдзрддрд╛, рд╕рд╛рде рд╣реА рдкрд╛рд░рд┐рдд рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
- рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдХрд┐ рд╡рд┐рдзрд┐ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рддреА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд░рд┐рдЯрд░реНрди рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдПрдХреНрд╕реЗрд╕ рдХреА рдЬрд╛ рд░рд╣реА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдФрд░ рджреГрд╢реНрдпрддрд╛, рдФрд░ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдШреЛрд╖рд┐рдд рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ред
- рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдмреНрд▓реЙрдХ рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЯрдлрд╝/рдкреНрд░рд┐рдВрдЯрдлрд╝ рдХреЙрд▓ рдореЗрдВ рдкрд╛рд░рд┐рдд рдкреИрд░рд╛рдореАрдЯрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рд╣реА рд╣реИред
- рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рдСрдкрд░реЗрдЯрд░реЛрдВ рдФрд░ рд▓реВрдкреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЧрдард┐рдд рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдЪрд░ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ред
- рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдФрд░ рдСрдкрд░реЗрдВрдб рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдкрд░ рдмреЗрдХрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд╕реНрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "(рд╕реНрдЯреНрд░рд┐рдВрдЧ) 'рдлреВ'") рдФрд░ рд╕рдЦреНрдд рдкрд░реАрдХреНрд╖рдг ("===" рдФрд░ "!==") рдЬреЛ рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд░рд┐рдЯрд░реНрди рджреЗрддреЗ рд╣реИрдВред
PHPStan 1.0 рдореЗрдВ рдкреНрд░рдореБрдЦ рдирд╡рд╛рдЪрд╛рд░:
- "9" рдЪреЗрдХ рд╕реНрддрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ "рдорд┐рд╢реНрд░рд┐рдд" рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕реНрд╡рд╛рдЧрдд рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╣реИред рд▓реЗрд╡рд▓ XNUMX "рдорд┐рд╢реНрд░рд┐рдд" рдХреЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ "рдорд┐рд╢реНрд░рд┐рдд" рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдирд╛, "рдорд┐рд╢реНрд░рд┐рдд" рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛, рдФрд░ рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
- @phpstan-pure рдФрд░ @phpstan-impure рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рд░рд┐рдЯрд░реНрди рдорд╛рди рд╕рдорд╛рди рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред
- @throws рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд░рд╛рдЗ-рдХреИрдЪ-рдлрд╝рд╛рдЗрдирд▓реА рдирд┐рд░реНрдорд╛рдгреЛрдВ рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЯрд╛рдЗрдк рдХрд░реЗрдВред
- рдкрд░рд┐рднрд╛рд╖рд┐рдд рд▓реЗрдХрд┐рди рдЕрдкреНрд░рдпреБрдХреНрдд рдЖрдВрддрд░рд┐рдХ (рдирд┐рдЬреА) рдЧреБрдгреЛрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдкрд╣рдЪрд╛рдиред
- array_map рдФрд░ usort рдЬреИрд╕реЗ рд╕рд░рдгреА рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рдЕрд╕рдВрдЧрдд рдХреЙрд▓рдмреИрдХ рдкрд╛рд╕ рдХрд░рдирд╛ред
- рдЧреБрдо рдЯрд╛рдЗрдкрд╣рд┐рдВрдЯ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдирд┐рд░реАрдХреНрд╖рдгред
- рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ PHPDocs рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рд╕реЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ PHPDocs рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реАред
рд╕реНрд░реЛрдд: opennet.ru