рдкреАрдПрдЪрдкреА 8.2 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд░рд┐рд▓реАрдЬ

рдПрдХ рд╕рд╛рд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж, PHP 8.2 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреА рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИред рдирдИ рд╢рд╛рдЦрд╛ рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдмрджрд▓рд╛рд╡ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

PHP 8.2 рдореЗрдВ рдкреНрд░рдореБрдЦ рд╕реБрдзрд╛рд░:

  • рдХрд┐рд╕реА рдХрдХреНрд╖рд╛ рдХреЛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИред рдРрд╕реЗ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдЧреБрдг рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ред рдкрд╣рд▓реЗ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд░реНрдЧ рдЧреБрдгреЛрдВ рдХреЛ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдЖрдк рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рднреА рд╡рд░реНрдЧ рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд░реНрдЧ рд╕реНрддрд░ рдкрд░ "рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП" рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рднреА рдЧреБрдгреЛрдВ рдХреЛ рд╡рд░реНрдЧ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рд░реАрдбрдУрдирд▓реА рдХреНрд▓рд╛рд╕ рдкреЛрд╕реНрдЯ { рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝рдВрдХреНрд╢рди __ рдирд┐рд░реНрдорд╛рдг ( рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ $ рд╢реАрд░реНрд╖рдХ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд▓реЗрдЦрдХ $ рд▓реЗрдЦрдХ, ) { } } $ рдкреЛрд╕реНрдЯ = рдирдпрд╛ рдкреЛрд╕реНрдЯ (/* тАж */); $рдкреЛрд╕реНрдЯ->рдЕрдЬреНрдЮрд╛рдд = 'рдЧрд▓рдд'; // рддреНрд░реБрдЯрд┐: рдЧрддрд┐рд╢реАрд▓ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рдкреЛрд╕реНрдЯ::$рдЕрдЬреНрдЮрд╛рдд
  • рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ "рд╕рд╣реА", "рдЧрд▓рдд" рдФрд░ "рд╢реВрдиреНрдп" рдЬреЛрдбрд╝реЗ рдЧрдП, рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рд╡реИрдз рдорд╛рди рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рддреНрд░реБрдЯрд┐ рд╕рдорд╛рдкреНрддрд┐ рдзреНрд╡рдЬ рдпрд╛ рдЦрд╛рд▓реА рдорд╛рди рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓реЗ, "рд╕рд╣реА", "рдЧрд▓рдд" рдФрд░ "рд╢реВрдиреНрдп" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рд╕реНрдЯреНрд░рд┐рдВрдЧ | рдЧрд▓рдд"), рд▓реЗрдХрд┐рди рдЕрдм рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдлрд╝рдВрдХреНрд╢рди рд╣рдореЗрд╢рд╛ рдЧрд▓рдд(): рдЧрд▓рдд { рд╡рд╛рдкрд╕реА рдЧрд▓рдд ; }
  • рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рджреМрд░рд╛рди рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХрд╛рдЯрдирд╛ рддрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рд╣реЛрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддреА рд╣реИрдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрди рдкреИрд░рд╛рдореАрдЯрд░реЛрдВ рдХреЛ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдлрд╝рдВрдХреНрд╢рди рдкрд░реАрдХреНрд╖рдг ($foo, #[\SensitiveParameter] $password, $baz ) {рдирдпрд╛ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХреЗрдВ('рддреНрд░реБрдЯрд┐'); } рдкрд░реАрдХреНрд╖рдг('рдлреВ', 'рдкрд╛рд╕рд╡рд░реНрдб', 'рдмрд╛рдЬрд╝'); рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐: рдзреНрдпрд╛рди рдореЗрдВ рди рдЖрдпрд╛ рдЕрдкрд╡рд╛рдж: test.php:8 рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕: тАЛтАЛ#0 test.php(11): test('foo', рдСрдмреНрдЬреЗрдХреНрдЯ(SensitiveParameterValue), 'baz') #1 {main} test.php рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд▓рд╛рдЗрди 8 рдкрд░
  • рд▓рдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ (рд╡рд┐рд╢реЗрд╖рддрд╛, рдХреЛрдб рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░)ред рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рддрдХ рдЙрд╕ рд╡рд░реНрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ)ред рд╡рд┐рд╢реЗрд╖рддрд╛ рдлреВ { рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдерд┐рд░рд╛рдВрдХ = 1; рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдмрд╛рд░(): int { return self::CONSTANT; // рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ } } рдХреНрд▓рд╛рд╕ рдмрд╛рд░ { рдлреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; } var_dump(рдмрд╛рд░::CONSTANT); // 1
  • рдбрд┐рд╕рдЬрдВрдХреНрдЯрд┐рд╡ рдиреЙрд░реНрдорд▓ рдлреЙрд░реНрдо (рдбреАрдПрдирдПрдл, рдбрд┐рд╕рдЬрдВрдХреНрдЯрд┐рд╡ рдиреЙрд░реНрдорд▓ рдлреЙрд░реНрдо) рдореЗрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ, рдЬреЛ рдЖрдкрдХреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдорд┐рд▓рди (рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣) рдФрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди (рд╡реЗ рдкреНрд░рдХрд╛рд░ рдЬрд┐рдирдХреЗ рдорд╛рди рдХрдИ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддреЗ рд╣реИрдВ) рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рд╕рд╛рде рдкреНрд░рдХрд╛рд░)ред рдХреНрд▓рд╛рд╕ рдлреВ { рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдмрд╛рд░((рдП&рдмреА)|рд╢реВрдиреНрдп $рдПрдВрдЯрд┐рдЯреА) { рдпрджрд┐ ($рдПрдВрдЯрд┐рдЯреА === рд╢реВрдиреНрдп) { рд░рд┐рдЯрд░реНрди рд╢реВрдиреНрдп; } рд╡рд╛рдкрд╕реА $entity; } }
  • рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдФрд░ рдЕрдиреБрдХреНрд░рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рдВрд╕ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди "рд░реИрдВрдбрдо" рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореЙрдбреНрдпреВрд▓ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдЗрдВрдЬрдиреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдЗрдВрдЬрди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░рдгреА рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рд░рдгреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рд░рд╛рдЬреНрдп рдХреЗ рд╕рд╛рде рдХрдИ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧред $rng = $is_production ? рдирдпрд╛ рд░реИрдВрдбрдо\рдЗрдВрдЬрди\рд╕рд┐рдХреНрдпреЛрд░() : рдирдпрд╛ рд░реИрдВрдбрдо\рдЗрдВрдЬрди\Mt19937(1234); $randomizer = рдирдпрд╛ Random\Randomizer($rng); $randomizer->shuffleString('foobar');
  • рд╕реНрдерд╛рдиреАрдп-рд╕реНрд╡рддрдВрддреНрд░ рдХреЗрд╕ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред strtolower() рдФрд░ strtoupper() рдЬреИрд╕реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЕрдм рд╣рдореЗрд╢рд╛ ASCII рд░реЗрдВрдЬ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ "C" рд▓реЛрдХреЗрд▓ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
  • рдирдП рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗ рдЧрдП: mysqli_execute_query, рдХрд░реНрд▓_рдЕрдкрдХреАрдк, рдореЗрдореЛрд░реА_рд░реАрд╕реЗрдЯ_рдкреАрдХ_рдпреВрдЬрд╝реЗрдЬ, ini_parse_quantity, libxml_get_external_entity_loader, рд╕реЛрдбрд┐рдпрдо_рдХреНрд░рд┐рдкреНрдЯреЛ_рд╕реНрдЯреНрд░реАрдо_xchacha20_xor_ic, рдУрдкрдиsl_cipher_key_lengthред
  • рдирдП рддрд░реАрдХреЗ рдЬреЛрдбрд╝реЗ рдЧрдП: mysqli::execute_query, ZipArchive::getStreamIndex, ZipArchive::getStreamName, ZipArchive::clearError, ReflectionFunction::isAnonymous, ReflectionMethod::hasPrototypeред
  • рдХрд┐рд╕реА рд╡рд░реНрдЧ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЧреБрдг рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреА рдЧрдИ рд╣реИред PHP 9.0 рдореЗрдВ, рдЙрди рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдЬреЛ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдХрдХреНрд╖рд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рддреНрд░реБрдЯрд┐ (ErrorException) рд╣реЛрдЧреАред рд╡реЗ рдХрдХреНрд╖рд╛рдПрдВ рдЬреЛ рдЧреБрдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП __get рдФрд░ __set рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ, рдпрд╛ stdClass рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рдЧреБрдг, рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреА, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЫрд┐рдкреЗ рд╣реБрдП рдмрдЧ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рдореМрдЬреВрдж рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "#[AllowDynamicProperties]" рд╡рд┐рд╢реЗрд╖рддрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИ, рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рдЧреБрдгреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
  • рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "${var}" рдФрд░ ${(var)} рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд░ рдорд╛рдиреЛрдВ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ "{$var}" рдФрд░ "$var" рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрд░рдХрд░рд╛рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: "рд╣реИрд▓реЛ {$рджреБрдирд┐рдпрд╛}"; рдареАрдХ рд╣реИ "рд╣реИрд▓реЛ $рджреБрдирд┐рдпрд╛"; рдареАрдХ рд╣реИ "рд╣реИрд▓реЛ ${рджреБрдирд┐рдпрд╛}"; рдЕрд╕реНрд╡реАрдХреГрдд: рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ ${} рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╕реНрд╡реАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
  • рдЕрдкреНрд░рдЪрд▓рд┐рдд рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдХреЙрд▓реЗрдмрд▓реНрд╕ рдЬрд┐рдиреНрд╣реЗрдВ "call_user_func($callable)" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди "$callable()" рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓рд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ: "self::method" "parent::method" "static" ::method "["рд╕реНрд╡рдпрдВ", "рд╡рд┐рдзрд┐"] ["рдкреИрд░реЗрдВрдЯ", "рд╡рд┐рдзрд┐"] ["рд╕реНрдереИрддрд┐рдХ", "рд╡рд┐рдзрд┐"] ["рдлреВ", "рдмрд╛рд░::рд╡рд┐рдзрд┐"] [рдирдпрд╛ рдлреВ, "рдмрд╛рд░: :рд╡рд┐рдзрд┐" ]
  • error_log_mode рдирд┐рд░реНрджреЗрд╢ рдХреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рддрдХ рдкрд╣реБрдВрдЪ рдореЛрдб рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ