Vimeo рдХрдВрдкрдиреА
рд╕реНрддреЛрддреНрд░ рдЪреБрдХреАрдЪреНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдмрд╣реБрддреЗрдХ рд╕рдорд╕реНрдпрд╛ рддрд╕реЗрдЪ рд╡рд┐рд╡рд┐рдз рдУрд│рдЦрддреЗ
рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдкрд░рд╡рд╛рдирдЧреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд╛рдзрдиреЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЬрд╛рддрд╛рдд
/** @var рд╕реНрдЯреНрд░рд┐рдВрдЧ|рдирд▓ */
$a = foo();
/** @var рд╕реНрдЯреНрд░рд┐рдВрдЧ $a */
echo strpos($a, 'hello');
/** @psalm-asssert-if-true B$a */
рдХрд╛рд░реНрдп isValidB(A $a): bool {
B && $a->isValid();
}
рд╕рд╛рдкрдбрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдЙрдиреНрдореВрд▓рди рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, Psalter рдЙрдкрдпреБрдХреНрддрддрд╛ рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЖрд╣реЗ, рдЬреА рдкреНрд▓рдЧрдЗрдирдирд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ рдЖрдгрд┐
рд╕реНрддреЛрддреНрд░рд╛рдЪреНрдпрд╛ рдирд╡реАрди рдЕрдВрдХрд╛рдд
echo, exec, include рдЖрдгрд┐ header рд╕рд╛рд░рдЦреА рдлрдВрдХреНрд╢рдиреНрд╕ рд╡рд╛рдкрд░рддрд╛рдирд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдПрд╕реНрдХреЗрдкрд┐рдВрдЧрдЪреНрдпрд╛ рдЧрд░рдЬреЗрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛рдирд╛, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдЬрд╕реЗ рдХреА рдордЬрдХреВрд░, рдПрд╕рдХреНрдпреВрдПрд▓рд╕рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдПрдЪрдЯреАрдПрдордПрд▓ рдЖрдгрд┐ рд╢реЗрд▓ рдХреЛрдб, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реЗ рдЬрд╛рддрд╛рдд. рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдореЛрдб рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЛрдбрдордзреАрд▓ рднреЗрджреНрдпрддрд╛ рдУрд│рдЦрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ рдЬреНрдпрд╛рдореБрд│реЗ рдХреНрд░реЙрд╕-рд╕рд╛рдЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ (XSS) рдХрд┐рдВрд╡рд╛ SQL рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛрддреЗ.
рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ
-
рдЪрд╛рд▓реВ рдЖрд╣реЗ рдЬреЗрдЖрдпрдЯреА рдХрдВрдкрд╛рдЗрд▓рд░ , рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рд╕реБрдзрд╛рд░реЗрд▓. - рдЖрдзрд╛рд░
рдпреБрдирд┐рдпрди рдкреНрд░рдХрд╛рд░ , рджреЛрди рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреЗ рд╕рдВрдЧреНрд░рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬрдкрдмреНрд▓рд┐рдХ рдлрдВрдХреНрд╢рди foo(Foo|Bar $input): int|float;тАЭ). - рдЖрдзрд╛рд░
рд╡рд┐рд╢реЗрд╖рддрд╛ (рднрд╛рд╖реНрдп) рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдбреЙрдХрдмреНрд▓реЙрдХ рд╕рд┐рдВрдЯреЕрдХреНрд╕ рди рд╡рд╛рдкрд░рддрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ (рдЬрд╕реЗ рдХреА рдЯрд╛рдИрдк рдорд╛рд╣рд┐рддреА) рд╡рд░реНрдЧрд╛рдВрдордзреНрдпреЗ рдмрд╛рдВрдзрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд. -
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рд╡рд░реНрдЧ рд╡реНрдпрд╛рдЦреНрдпрд╛, рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЖрдгрд┐ рдЧреБрдгрдзрд░реНрдорд╛рдВрдЪреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдПрдХрддреНрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. - рдирд╡реАрди рдкрд░рддрд╛рд╡рд╛ рдкреНрд░рдХрд╛рд░ -
рд╕реНрдерд┐рд░ . - рдирд╡реАрди рдкреНрд░рдХрд╛рд░ -
рдорд┐рд╢реНрд░рд┐рдд , рдЬреНрдпрд╛рдЪрд╛ рдЙрдкрдпреЛрдЧ рдлрдВрдХреНрд╢рди рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╕реНрд╡реАрдХрд╛рд░рддреЛ рдХреА рдирд╛рд╣реА рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. - рдЕрднрд┐рд╡реНрдпрдХреНрддреА
рдлреЗрдХрдгреЗ рдЕрдкрд╡рд╛рдж рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА. -
WeakMap рдХрдЪрд░рд╛ рдЧреЛрд│рд╛ рдХрд░рддрд╛рдирд╛ рддреНрдпрд╛рдЧ рдХрд░рддрд╛ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рд╡рд╕реНрддреВ рддрдпрд╛рд░ рдХрд░рдгреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЕрд╢реЗ рд╕рд╛рдард╡рдгреЗ). -
рд╕рдВрдзреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рд╕рд╛рдареА "::рдХреНрд▓рд╛рд╕" рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡рд╛рдкрд░рдгреЗ (рдЧреЗрдЯ_рдХреНрд▓рд╛рд╕() рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ). -
рд╕рдВрдзреА рдЕрдкрд╡рд╛рджрд╛рдВрдЪреНрдпрд╛ рдХреЕрдЪ рдмреНрд▓реЙрдХрдордзреАрд▓ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЬреНрдпрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдирд╛ рдмрд╛рдВрдзреАрд▓ рдирд╛рд╣реАрдд. -
рд╕рдВрдзреА рдлрдВрдХреНрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреНрдпрд╛ рд╕реВрдЪреАрддреАрд▓ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдирдВрддрд░ рд╕реНрд╡рд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕реЛрдбрдгреЗ. - рдирд╡реАрди рдЗрдВрдЯрд░рдлреЗрд╕
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХрд┐рдВрд╡рд╛ рдбреЗрдЯрд╛ рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ (рдЬреНрдпрд╛рд╕рд╛рдареА __toString() рдкрджреНрдзрдд рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ). - рдирд╡реАрди рдЧреБрдгрд╡рд┐рд╢реЗрд╖
str_contains() , рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧрдЪреА рдШрдЯрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдЯреНрд░рдкреЛрд╕рдЪрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдЕреЕрдирд╛рд▓реЙрдЧ, рддрд╕реЗрдЪ рд╕реНрдЯреНрд░рд┐рдВрдЧрдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ рдЖрдгрд┐ рд╢реЗрд╡рдЯреА рдЬреБрд│рдгреНрдпрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА str_starts_with() рдЖрдгрд┐ str_ends_with() рдлрдВрдХреНрд╢рдиреНрд╕. - рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЬреЛрдбрд▓реЗ
fdiv() , рдЬреЗ рд╢реВрдиреНрдпрд╛рдиреЗ рднрд╛рдЧрддрд╛рдирд╛ рддреНрд░реБрдЯреА рди рдЯрд╛рдХрддрд╛ рднрд╛рдЧрд╛рдХрд╛рд░ рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ. -
рдмрджрд▓рд▓реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЙрдЗрдирд┐рдВрдЧ рд▓реЙрдЬрд┐рдХ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрднрд┐рд╡реНрдпрдХреНрддреА 'echo "sum:" . $a + $b' рдЪрд╛ рдкреВрд░реНрд╡реА 'echo ("sum: " . $a) + $b' рдЕрд╕рд╛ рдЕрд░реНрде рд▓рд╛рд╡рд▓рд╛ рдЧреЗрд▓рд╛ рд╣реЛрддрд╛ рдЖрдгрд┐ PHP 8 рдордзреНрдпреЗ 'echo "sum: " рдЕрд╕реЗ рдорд╛рдирд▓реЗ рдЬрд╛рдИрд▓. ($a + $b)'. -
рдШрдЯреНрдЯ рдХреЗрд▓реЗ рдЕрдВрдХрдЧрдгрд┐рдд рдЖрдгрд┐ рдмрд┐рдЯ рдСрдкрд░реЗрд╢рдиреНрд╕ рддрдкрд╛рд╕рддрд╛рдирд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "[] % [42]" рдЖрдгрд┐ "$object + 4" рдпрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдореБрд│реЗ рддреНрд░реБрдЯреА рдпреЗрдИрд▓. -
рд░рд╛рдмрд╡рд┐рдгреНрдпрд╛рдд рдЖрд▓реЗ рдПрдХ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧреАрдХрд░рдг рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рдорд╛рди рдореВрд▓реНрдпрд╛рдВрдЪрд╛ рдХреНрд░рдо рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдзрд╛рд╡рд╛рдВрд╡рд░ рдЬрддрди рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
рд╕реНрддреНрд░реЛрдд: opennet.ru