рдбрд┐рд╕реНрдХреНрд▓реЗрдорд░: рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЗ рд░рд╣рд╕реНрдпреЛрджреНрдШрд╛рдЯрди рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рддреАрд╕рд░реА рдЖрдВрдЦ рдХреЛ рдирд╣реАрдВ рдЦреЛрд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рд╢реНрди рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдХрдо рд╕реЗ рдХрдо рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд┐рдЦрд╛, рддреЛ рдЙрд╕рдиреЗ рдЗрд╕рдореЗрдВ рдореЗрд░реА рдорджрдж рдХреАред рдпрджрд┐ рдЖрдк php рдореЗрдВ рдПрдХ рдЕрдиреБрднрд╡реА рднреЗрдбрд╝рд┐рдпрд╛ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреБрднрд╡реА рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдкрдиреА рдЖрдВрдЦреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рд╕реНрдореГрддрд┐ рдореЗрдВ рддрд╛рдЬрд╝рд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╛рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП ...
Php рдореЗрдВ рд╕реНрдЯреЗрдЯрд┐рдХ рд╡реИрд░рд┐рдПрдмрд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡реИрд░рд┐рдПрдмрд▓ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдЯреЗрдЯрд┐рдХ рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
static $foo = 3;
рд╡реЗ рд╕рд╛рдорд╛рдиреНрдп рдЪрд░ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ (рдмрд╛рдж рдореЗрдВ рд▓реЗрдЦ рдореЗрдВ рдЗрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛):
- рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рд╕реНрдерд┐рд░ рднрд╛рд╡ рд╣реА рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ
- рдПрдХ рд╕реНрдерд┐рд░ рдЪрд░ рдХрд╛ рдЬреАрд╡рдирдХрд╛рд▓ рдЙрд╕ рджрд╛рдпрд░реЗ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрдд рддрдХ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛
рдЕрдм рдХреНрд░рдо рдореЗрдВред
1. рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рд╕реНрдерд┐рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рд╡рд┐рдзрд┐ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕реНрдерд┐рд░ рдЪрд░ рдХреЛ рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рдЕрднреА рддрдХ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИред рдпрд╣реА рд╣реИ, рдРрд╕реЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛
static $var = foo();
рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ
static $var = 'some str'; static $varInt = 3 + 5;
2. рдПрдХ рд╕реНрдерд┐рд░ рдЪрд░ рдХрд╛ рдЬреАрд╡рдирдХрд╛рд▓ рдЙрд╕ рджрд╛рдпрд░реЗ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдореЗрд░рд╛ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рд╢рд╛рдпрдж рдореИрдВ рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ рдХреБрдЫ рдЕрд╢реБрджреНрдзрд┐рдпрд╛рдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд╛рд░ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдПрдХ рдирд┐рдпрдорд┐рдд рдЪрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдпрджрд┐ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╡реИрд░рд┐рдПрдмрд▓ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рд╕реНрдерд╛рдиреАрдп рд╕реНрдХреЛрдк (рдЗрд╕ рдлрдВрдХреНрд╢рди рдХрд╛ рд╕реНрдХреЛрдк) рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕рдВрджрд░реНрдн рд╕реНрдерд╛рдиреАрдп рдХреНрд╖реЗрддреНрд░ рд╣реЛрдЧрд╛ред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдХреЗ рджрд╛рдпрд░реЗ рдпрд╛ рдЗрд╕рдХреЗ рд╕рдВрджрд░реНрдн, рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдХреЗ рд╕рднреА рдЪрд░ рдХреЗ рд╕рд╛рде, рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕реНрдерд┐рд░ рд╡реИрд░рд┐рдПрдмрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рджрд╛рдпрд░реЗ рдореЗрдВ рднреА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд╕рдВрджрд░реНрдн рд╕реНрдерд╛рдиреАрдп рд╕реНрдХреЛрдк рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдмрд▓реНрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рд╣реА рд╣реЛрдЧрд╛ред
(рдЖрдЧреЗ, рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдХрдард┐рди рдХреНрд╖рдг, рдореИрдВ рдХреЗрд╡рд▓ рд╕рд╛рд░ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдмрд┐рдирд╛ рд╡рд┐рд╡рд░рдг рдХреЗ, рдХреИрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ php рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕ рдореЗрдореЛрд░реА рдореЗрдВ рдХреНрдпрд╛ рдирд┐рд╣рд┐рдд рд╣реИ)ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рддрд╛ рд╣реИ, рдЬрдм рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреБрднрд╛рд╖рд┐рдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЧреБрдВрдЬрд╛рдЗрд╢ рдмрдирд╛рддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рдореЗрдВ рд╣реИ рдХрд┐ рд╕рднреА рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╡реЗ рдЗрд╕реЗ рдЙрдирдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВред рд╕реНрдереИрддрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдиреАрдп рджрд╛рдпрд░реЗ рдореЗрдВ рдПрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдХреЗ, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрд╕ рдЪрд░ рдХреЛ рдПрдХ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЪрд░ рддрдм рддрдХ рдореМрдЬреВрдж рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдореМрдЬреВрдж рд╣реИред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрдм js рдПрдХ рдлрдВрдХреНрд╢рди рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдордирдорд╛рдиреЗ рдЧреБрдг рдФрд░ рддрд░реАрдХреЗ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ, рдХреЗрд╡рд▓, php рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди php рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдирд┐рдореНрди рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИред
function echoStaticVar() { static $var = 0; $var++; var_dump($var); }; echoStaticVar();
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХрд▓реЗрдХреНрдЯрд░ $ var рдЪрд░ рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рдЪрд░ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред
рдФрд░ рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдПрдХ рд╕реНрдерд┐рд░ рдЪрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ (рдпрд╛ рддреЛ рдЗрд╕реЗ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдЗрд╕рдХрд╛ рд╕рдВрджрд░реНрдн рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛рдП)ред
$one = function ($i) { static $var = 0; $var += $i; var_dump($var); }; $two = $one; $one(1);
рд╕рдм рдХреБрдЫ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм $ рджреЛ = $ рдПрдХ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ; рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдХреЙрдкреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдпреЗ рджреЛрдиреЛрдВ рдЪрд░ рдПрдХ рд╣реА рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдВрдЧреЗред рддрджрдиреБрд╕рд╛рд░, рд╕реНрдерд┐рд░ рдЪрд░ $ var $ рдПрдХ рдФрд░ $ рджреЛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реЛрдЧрд╛
рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╣рдо рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдХреНрд▓реЛрди рдХрд░рддреЗ рд╣реИрдВ
$one = function ($i) { static $var = 0; $var += $i; var_dump($var); }; $two = clone($one); $one(1);
рдЕрдм рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ $ рдПрдХ рдФрд░ $ рджреЛ рдПрдХ рд╕реНрдерд┐рд░ рд╡реИрд░рд┐рдПрдмрд▓ $ рд╡рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЭреВрда рдмреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдЕрдкрдирд╛ рд╕реНрдерд┐рд░ рд╡реИрд░рд┐рдПрдмрд▓ $ рд╡рд░ рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдмрд┐рдВрджреБ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕ рдкрд░ рдареЛрдХрд░ рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╢реИрд▓реА рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╕рдВрднрд╡рддрдГ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦрд░рд╛рдм рд░реВрдк рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реИ)ред
рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╕ рд░реВрдк рдореЗрдВ рдУрдУрдкреА рдХреЗ рдкреНрд░рд╕рд╛рд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╕реНрдерд┐рд░ рдЪрд░ рджреБрд░реНрд▓рдн рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдореИрдВ рдЙрдирдореЗрдВ рд╕реНрдереИрддрд┐рдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦреВрдВрдЧрд╛)
3. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдПрдХ рд╕реНрдерд┐рд░ рдЪрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдмрд╛рдж рдХреЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдкрд╣рд▓реЗ рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рдорд╛рди рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдореМрдЬреВрджрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдВрдЧреЗред
function staticVar($i) { static $var = 0; $var += $i; var_dump($var); }; staticVar(1);
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╕реНрдерд┐рд░ рдЪрд░ $ var рдореЗрдВ рд╣рд░ рдмрд╛рд░ рдорд╛рди рдкреБрди: рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╣рдореЗрдВ рд╣рдореЗрд╢рд╛ рдкрд░рд┐рдгрд╛рдо 1 рдорд┐рд▓реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдкреБрди: рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЗрд╕реЗ рджреЛрдмрд╛рд░рд╛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╡рд╣реА рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИред
рд╕рдЪ рд╣реИ, рдПрдХ рдЪреАрдЬ рд╣реИ рдЬреЛ рд╕рдм рдХреБрдЫ рдмрд░реНрдмрд╛рдж рдХрд░ рд╕рдХрддреА рд╣реИред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдкрд╣рд▓реА рдмрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЪрд░ рдХреЛ рдХрдИ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ (рдмрд╛рдж рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЬреИрд╕рд╛ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛)ред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореБрдЭреЗ рдЕрдЬреАрдм рдФрд░ рдордЬреЗрджрд╛рд░ рд▓рдЧрд╛, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реИрдВред
function staticVar($i) { static $var = 0; static $var = 5; $var += $i; var_dump($var); }; staticVar(1);
рдпрд╣рд╛рдВ рдкрд╣рд▓реА рдХреЙрд▓ рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓ $ var рдХреЛ рд╕реНрдЯреЗрдЯрд╕реНрдЯрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрд╕рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдлрд┐рд░ рджреВрд╕рд░реА рд▓рд╛рдЗрди рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдЧреЗ рдХреА рдХреЙрд▓ рдореЗрдВ, рди рддреЛ рдкрд╣рд▓реА рдФрд░ рди рд╣реА рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реА рдХреЙрд▓ рдореЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдерд╛ рд╡рд╣ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛
function staticVar($i) { static $var = 0;
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ staticVar рдХреА рдкрд╣рд▓реА рдХреЙрд▓ рдкрд░ рдЕрдЬрдирдмреА, рдЗрд╕реЗ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛, рдлрд┐рд░ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рд▓реЗрдХрд┐рди рдЕрд╕рдлрд▓ рд░реВрдк рд╕реЗ), рдлрд┐рд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЧрдИ рдереА, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж, рдЬрдм рдкрд╣рд▓реА рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рднреАрддрд░ рднреА рдЗрд╕реЗ рдкреБрди: рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рдереА, рддреЛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ред рдЙрд╕рдХрд╛ рдЕрд░реНрдеред
function staticVarWrong($i) { static $var = 0; static $var = 5; $var += $i; var_dump($var); };
рдпрд╣реА рд╣реИ, рдпрд╣ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рддрд░реАрдХреЗ, рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреИрд╕реЗ рд╕реНрдерд┐рд░ рдЪрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо staticVarRight рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ ред StaticVarWrong рдореЗрдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ (рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреА рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЪрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рдиреЗ рдореБрдЭреЗ рдХрд╛рдлреА рдЦреБрд╢ рдХрд┐рдпрд╛ред
4. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрдд рддрдХ рдирд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ
рдореИрдВ рдЗрд╕ рдмрд┐рдВрджреБ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рджреЗрдЦрддрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рд╕рдм рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИред рдЬрдмрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓ рд░рд╣реА рд╣реИ рдФрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд┐рд░ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдЪрд░ рдореМрдЬреВрдж рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдпрд╣ OOP рд╕реЗ рдЖрдЧреЗ, рд╕реНрдереИрддрд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рд╕реНрдерд┐рд░ , рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╣реИред
рдареАрдХ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдЧрд░ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдФрд░ рджреЛрд╖ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдард┐рди рдирд╣реАрдВ рд╣реИред