āĻāϝāĻŧ āĻŦāĻāϰ āϧāϰ⧠āĻāύā§āύāϝāĻŧāύā§āϰ āĻĒāϰ, PHPStan 1.0 āύāĻžāĻŽāĻ āĻāĻāĻāĻŋ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻ ā§āϝāĻžāύāĻžāϞāĻžāĻāĻāĻžāϰā§āϰ āĻĒā§āϰāĻĨāĻŽ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āϏāĻāϏā§āĻāϰāĻŖ āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ āĻā§āĻĄ āĻāĻžāϞāĻžāύ⧠āĻŦāĻž āĻāĻāύāĻŋāĻ āĻā§āϏā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻāϰā§āĻ āϤāĻžāϰ āϤā§āϰā§āĻāĻŋ āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰā§āĨ¤ āĻāĻ āĻĒā§āϰāĻāϞā§āĻĒā§āϰ āĻā§āĻĄ āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ-āϤ⧠āϞā§āĻāĻž āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŽāĻāĻāĻāĻŋ āϞāĻžāĻāϏā§āύā§āϏā§āϰ āĻ āϧā§āύ⧠āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻ ā§āϝāĻžāύāĻžāϞāĻžāĻāĻāĻžāϰāĻāĻŋ ā§§ā§Ļ āϏā§āϤāϰā§āϰ āϝāĻžāĻāĻžāĻāĻāϰāĻŖ āϏā§āĻŦāĻŋāϧāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§, āϝā§āĻāĻžāύ⧠āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒāϰāĻŦāϰā§āϤ⧠āϏā§āϤāϰ āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āϏā§āϤāϰā§āϰ āϏāĻā§āώāĻŽāϤāĻž āĻŦā§āĻĻā§āϧāĻŋ āĻāϰ⧠āĻāĻŦāĻ āĻāϰāĻ āĻāĻ ā§āϰ āĻĒāϰā§āĻā§āώāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§:
āĻļāύāĻžāĻā§āϤāĻā§āϤ āĻ āύā§āϤāϰā§āύāĻŋāĻšāĻŋāϤ āϏāĻŽāϏā§āϝāĻžāĻā§āϞā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ:
- instanceof, catch, typehints āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āϞā§āϝāĻžāĻā§āĻā§āϝāĻŧā§āĻ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻā§āϞāĻžāϏā§āϰ āĻ āϏā§āϤāĻŋāϤā§āĻŦāĨ¤
- āĻāϞ āĻāϰāĻž āĻŽā§āĻĨāĻĄ āĻ āĻĢāĻžāĻāĻļāύāĻā§āϞā§āϰ āĻ āϏā§āϤāĻŋāϤā§āĻŦ āĻ āĻĒā§āϰāĻžāĻĒā§āϝāϤāĻž, āϏā§āĻāϏāĻžāĻĨā§ āĻĒāĻžāϏ āĻāϰāĻž āĻāϰā§āĻā§āĻŽā§āύā§āĻā§āϰ āϏāĻāĻā§āϝāĻžāĨ¤
- āĻā§āύ⧠āĻŽā§āĻĨāĻĄ āϰāĻŋāĻāĻžāϰā§āύ āϏā§āĻā§āĻāĻŽā§āύā§āĻā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāĻžāĻāĻĒā§āϰ āĻĄā§āĻāĻž āĻĢā§āϰāϤ āĻĻā§āϝāĻŧ āĻāĻŋāύāĻž, āϤāĻž āϝāĻžāĻāĻžāĻ āĻāϰā§āĨ¤
- āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāĻž āĻĒā§āϰāĻĒāĻžāϰā§āĻāĻŋāĻā§āϞā§āϰ āĻ āϏā§āϤāĻŋāϤā§āĻŦ āĻ āĻĻā§āĻļā§āϝāĻŽāĻžāύāϤāĻž, āĻāĻŦāĻ āĻĒā§āϰāĻĒāĻžāϰā§āĻāĻŋāĻā§āϞā§āϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻā§āώāĻŋāϤ āĻ āĻĒā§āϰāĻā§āϤ āĻĄā§āĻāĻž āĻāĻžāĻāĻĒāĻā§āϞ⧠āϝāĻžāĻāĻžāĻ āĻāϰāĻžāĨ¤
- āϏā§āĻā§āϰāĻŋāĻ āĻĢāϰāĻŽā§āϝāĻžāĻ āĻŦā§āϞāĻā§ sprintf/printf āĻāϞ⧠āϏāĻ āĻŋāĻ āϏāĻāĻā§āϝāĻ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻĒāĻžāϏ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻŦā§āϰāĻžāĻā§āĻāĻŋāĻ āĻ āĻĒāĻžāϰā§āĻāϰ āĻāĻŦāĻ āϞā§āĻĒ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻ āĻŋāϤ āĻŦā§āϞāĻ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰ⧠āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ āĻ āϏā§āϤāĻŋāϤā§āĻŦāĨ¤
- āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻžāĻāĻĒ āĻāĻžāϏā§āĻ (āϝā§āĻŽāύ "(string) 'foo'"), āĻāĻŋāύā§āύ āĻāĻžāĻāĻĒā§āϰ āĻĄā§āĻāĻžāϰ āĻāĻĒāϰ āĻāĻ ā§āϰ āĻā§āĻ ("===" āĻāĻŦāĻ "!==") āĻāĻŦāĻ āĻāĻŽāύ āĻ āĻĒāĻžāϰā§āύā§āĻĄ āϝāĻž āϏāϰā§āĻŦāĻĻāĻž āĻĢāϞāϏ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤
PHPStan 1.0-āĻāϰ āĻĒā§āϰāϧāĻžāύ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāϏāĻŽā§āĻš:
- āĻā§āϝāĻžāϞāĻŋāĻĄā§āĻļāύ āϞā§āĻā§āϞ "⧝" āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž "āĻŽāĻŋāĻā§āϏāĻĄ" āĻāĻžāĻāĻĒā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĒāϰā§āĻā§āώāĻž āĻāϰā§āĨ¤ āĻāĻ āĻāĻžāĻāĻĒāĻāĻŋ āĻāĻŽāύ āĻĢāĻžāĻāĻļāύāĻā§āϞā§āĻā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϝā§āĻā§āϞ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āϧāϰāύā§āϰ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻā§āϰāĻšāĻŖ āĻāϰā§āĨ¤ āϞā§āĻā§āϞ ⧝ "āĻŽāĻŋāĻā§āϏāĻĄ"-āĻāϰ āĻ āύāĻŋāϰāĻžāĻĒāĻĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻļāύāĻžāĻā§āϤ āĻāϰā§, āϝā§āĻŽāύ "āĻŽāĻŋāĻā§āϏāĻĄ" āĻāĻžāĻāĻĒā§āϰ āĻā§āϝāĻžāϞ⧠āĻ āύā§āϝ āĻā§āύ⧠āĻāĻžāĻāĻĒā§ āĻĒāĻžāϏ āĻāϰāĻž, "āĻŽāĻŋāĻā§āϏāĻĄ" āĻāĻžāĻāĻĒā§āϰ āĻŽā§āĻĨāĻĄ āĻāϞ āĻāϰāĻž āĻāĻŦāĻ āĻāϰ āĻĒā§āϰā§āĻĒāĻžāϰā§āĻāĻŋ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāĻž, āĻāĻžāϰāĻŖ āϏā§āĻā§āϞ⧠āĻšāϝāĻŧāϤ⧠āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āύāĻžāĻ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤
- @phpstan-pure āĻāĻŦāĻ @phpstan-impure āĻ ā§āϝāĻžāύā§āĻā§āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻ āĻĢāĻžāĻāĻļāύ āĻāϞā§āϰ āĻāύā§āϝ āĻ āĻāĻŋāύā§āύ āϰāĻŋāĻāĻžāϰā§āύ āĻā§āϝāĻžāϞ⧠āϝāĻžāĻāĻžāĻ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻāϰāĻžāĨ¤
- @throws āĻ ā§āϝāĻžāύā§āĻā§āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠try-catch-finally āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻā§ āĻāĻžāĻāĻĒ āĻ ā§āϝāĻžāύāĻžāϞāĻžāĻāϏāĻŋāϏāĨ¤
- āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāĻŋāύā§āϤ⧠āĻ āĻŦā§āϝāĻŦāĻšā§āϤ āĻ āĻā§āϝāύā§āϤāϰā§āĻŖ (āĻŦā§āϝāĻā§āϤāĻŋāĻāϤ) āĻŦā§āĻļāĻŋāώā§āĻā§āϝ, āĻĒāĻĻā§āϧāϤāĻŋ āĻāĻŦāĻ āϧā§āϰā§āĻŦāĻ āĻļāύāĻžāĻā§āϤ āĻāϰāĻžāĨ¤
- array_map āĻāĻŦāĻ usort-āĻāϰ āĻŽāϤ⧠āĻ ā§āϝāĻžāϰā§-āĻšā§āϝāĻžāύā§āĻĄāϞāĻŋāĻ āĻĢāĻžāĻāĻļāύāĻā§āϞāĻŋāϤ⧠āĻŦā§āĻŽāĻžāύāĻžāύ āĻāϞāĻŦā§āϝāĻžāĻ āĻĒāĻžāϏ āĻāϰāĻžāĨ¤
- āĻ āύā§āĻĒāϏā§āĻĨāĻŋāϤ āĻāĻžāĻāĻĒāĻšāĻŋāύā§āĻ āĻ ā§āϝāĻžāύā§āĻā§āĻļāύā§āϰ āĻāύā§āϝ āĻāĻžāĻāĻĒāĻā§āϞ⧠āĻĒāϰāĻŋāĻĻāϰā§āĻļāύ āĻāϰā§āύāĨ¤
- āĻāĻžāĻāĻĒ āĻĄā§āϏāĻā§āϰāĻŋāĻĒāĻļāύ āĻāĻāύ PHPDocs-āĻāϰ āϏāĻžāĻĨā§ āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ, āĻĢāϞ⧠āĻāĻĒāύāĻŋ PHPDocs-āĻāϰ āĻāϰāϰ āĻŽā§āϏā§āĻ āĻĨā§āĻā§ āĻāĻžāĻāĻĒāĻā§āϞ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύāĨ¤
āĻāϤā§āϏ: opennet.ru
