PHP рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреИрдЯ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд░реЗрдВ

рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдмрд╣реБрдд рдкреНрд░рд╕рдиреНрди рд╣реВрдВ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдкреАрдПрдЪрдкреА рдХрд┐рддрдиреА рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ рд╣реИред рд╢рд╛рдпрдж рдЖрдк рднреАред рд▓рдЧрд╛рддрд╛рд░ рдирдП рдЕрд╡рд╕рд░ рдЖрддреЗ рд╣реИрдВ рдЬреЛ рдЙрддреНрд╕рд╛рд╣реА рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕ рдордВрдЪ рдкрд░ рдмрдиреЗ рд░рд╣рдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣реИрдХ рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЦрдмрд░ рд╣реИред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рднреА рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рд╢реАрд░реНрд╖рдХ рдкрдврд╝рдХрд░ рдореБрд╕реНрдХреБрд░рд╛рдПрдЧрд╛ рдФрд░ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реИ: "рдорд╣рд╛рд╢рдп рд╡рд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдЬрд╛рдирддреЗ рд╣реИрдВ!" рдЗрд╕ рдпрд╛ рдЙрд╕ рднрд╛рд╖рд╛ рдХреА рд╢реАрддрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣рд╕ рдХрднреА рдХрдо рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЦреБрдж рдХреЗ рд▓рд┐рдП рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рднрд╛рд╖рд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдиреА рд╕рд╛рд░реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░реЗ рд╕реНрдЯреИрдХ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдирд┐рдЪреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЯреЙрд░рдиреЗрдбреЛ рдкрд░ рдПрдХ рдЪреИрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд╢рди рдерд╛, рдФрд░ рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред

рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕

рдПрдХ рдмрдврд╝рд┐рдпрд╛ рджрд┐рди, рдореИрдВрдиреЗ рд╡реЗрдмрд╕реНрдХреЗрдЯреНрд╕ рдХреЛ рдЬрд╛рдирдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рджреНрд╡рд╛рд░рд╛ рдЕрдВрддрд░реНрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдХрд▓ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдФрд░ рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдЬрд┐рдХ-рд╕рдВрдмрдВрдзрд┐рдд рдЪреИрдЯ рд╕реЗрд╡рд╛ рдХреЗ рд╢реБрднрд╛рд░рдВрдн рдХреЗ рд╕рд╛рде рд╣реБрдЖ, рдЬреЛ рдмрд╣реБрдд рд╕рд╛рд░реА рдЦрд╛рдорд┐рдпреЛрдВ рд╕реЗ рдЧреНрд░рд╕реНрдд рдерд╛ред рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рджреМрдбрд╝ рдореЗрдВ рд╣рд┐рд╕реНрд╕рд╛ рд▓реЗрдиреЗ рдХрд╛ рдЙрддреНрд╕рд╛рд╣ рдорд┐рд▓рд╛ред рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирдП рдФрд░ рдЖрд╢рд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред

рдХрдиреЗрдХреНрд╢рди рдирд┐рд░рдВрддрд░ рдФрд░ рджреНрд╡рд┐рджрд┐рд╢ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрдХреНрд╖ рдкрд░, рдХрд╛рд░реНрдп рдХреЛ 4 рдИрд╡реЗрдВрдЯреНрд╕ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдУрдиреЛрдкреЗрди , рдСрдиреНрдХреНрд▓реЛрдЬ , рдСрдирд░реЛрд░ , рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдСрдиреНрд╕рдореЗрд╕ ред рд╕реЗрдЯрдЕрдВрдЯрд░рд╡рд▓, рдЕрддреНрдпрдзрд┐рдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдФрд░ рд╕рд░реНрд╡рд░ рд▓реЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЛрдИ рдФрд░ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВред

рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░ рдХрд░реВрдВ рдЬреЛ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдЬреЛ рд▓реЛрдЧ 2000 рдХреЗ рд╢реБрд░реБрдЖрддреА рджреМрд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рд╡реЗ рдЪреИрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╡рд┐рд╡рд┐рдзрддрд╛ рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдзреАрдорд╛ рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдПрдЬреЗрдХреНрд╕ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдФрд░ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рдмрджрд▓ рдирд╣реАрдВ рдЧрдпрд╛ред рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд╛рд░реНрдЯ рдиреЗ рдЕрднреА рднреА рдЯрд╛рдЗрдорд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╕рд░реНрд╡рд░ рдХреЛ рддрдм рддрдХ рдкреНрд░рджреВрд╖рд┐рдд рдХрд┐рдпрд╛, рдЬрдм рддрдХ рдХрд┐ рдбреЗрдЯрд╛ рдХреЗ рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рдХреЗ рдХрд╛рд░рдг iframes рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЛрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред
рджрд░рдЕрд╕рд▓, рдЬрд┐рд╕ рдЪреИрдЯ рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд╣ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЕрдЬрд╛рдХреНрд╕ рдЪреИрдЯ рдереАред

рдЪреБрдиреЗ рд╣реБрдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рд╕рддреНрдп рдФрд░ рд╕рд┐рдХреНрдХреЗ рдХрд╛ рджреВрд╕рд░рд╛ рдкрд╣рд▓реВ рд╣реИ:


рдЕрдЧрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рд▓рдХреНрд╖рд┐рдд рджрд░реНрд╢рдХ рдЖрдзреБрдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдЧреИрдЬреЗрдЯреНрд╕ рд╡рд╛рд▓реЗ рдпреБрд╡рд╛ рдереЗ, рдЬрд┐рд╕рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╡реЗрдмрд╕реНрдХреЗрдЯ рд╕рдкреЛрд░реНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдмрд╕ рджреВрд╕рд░реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рднреА рдореБрд╢реНрдХрд┐рд▓реЗрдВ рдереАрдВ, рдЬреЛ рдореИрдВ рдмрд╛рдж рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред
рдбреЗрдорди рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:
  1. рдЖрдк рдХреЗрд╡рд▓ рдбреЗрдореЙрди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдХреЗ рдХреЛрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рддрджрдиреБрд╕рд╛рд░, рдЪреИрдЯрд▓реИрди рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдбрд┐рдЧреНрд░реА рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ
  2. рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдФрд░ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЕрдкрд╡рд╛рдж рдХреЗ рдХрд╛рд░рдг рдбреЗрдореЙрди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдХреЛрдб рдХреЛ "рдмреБрд▓реЗрдЯрдкреНрд░реВрдл" рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
  3. рдбреЗрдореЙрди рдХреЛ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдореБрдХреНрдд рдмрдВрджрд░рдЧрд╛рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕рдЦреНрдд рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рдкреАрдЫреЗ рдмреИрдареЗ рд╣реИрдВ
  4. рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ рдХрднреА рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ рдХрд┐ рдПрдХ "рдирд┐рд╡рд╛рд╕реА рдХрд╛рд░реНрдпрдХреНрд░рдо" рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ "рд░рди-рд░рди-рд░рди-рдбрд╛рдИ" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкрд╣рд▓реА рдмрд╛рд░ рдбреЗрдорди рд▓рд┐рдЦрддреЗ рд╕рдордп рдПрдХ рдкреИрдЯрд░реНрди рдмреНрд░реЗрдХ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рд╡рд╕реНрддреБрдПрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ "рдЬреАрд╡рд┐рдд" рд░рд╣ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рднрдВрдбрд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рдЬрд┐рд╕ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рд╡рд╣ рд╡рд┐рднрд┐рдиреНрди рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдбреЗрдореЙрди рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреА рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдЙрдирдХреЗ рд▓реЗрдЦрди рдХреЗ рджреМрд░рд╛рди рд╣реИ рдХрд┐ рдПрдХ рд╕рдмрд╕реЗ рдЕрд╡рд░реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕реА рдХреЗ рд▓рд┐рдП рдмрд╕ рдкреАрдПрдЪрдкреА рдХреА рдХрдореА рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреНрдпрд╛ рд╣реИ? рдпрджрд┐ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ, рддреЛ рдпрд╣ рдХреЛрдб рдХреА "рд╕рдорд╛рдирд╛рдВрддрд░" рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рдХреЛрдб рдХреЗ рдХрдИ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ред
UPD: alekciy рдиреЗ рдареАрдХ рдЯрд┐рдкреНрдкрдгреА рдХреА:
рднреНрд░рдорд┐рдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ! = рд╕рдорд╛рдирд╛рдВрддрд░ред рдХреНрд▓рд╛рд╕рд┐рдХ рдЬреЗрдПрд╕ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд╣реАрдВ (рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рд╡реАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред рдЙрдкрдпреЛрдЧреА рдкрдврд╝рдирд╛: рдХреИрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЯрд╛рдЗрдорд░

рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ - рдЕрд╕рдВрдЧрдд рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреА рд╕рдВрднрд╛рд╡рдирд╛ред Concurrency - рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╣реА рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкрд╛рдардХ рдХрдо рд╕реЗ рдХрдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВрдЧреЗред рдЕрдзрд┐рдХрд╛рдВрд╢ рдиреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдХреБрдЫ рд▓рд┐рдЦрд╛:
var myDomElement.onclick = function() { alert("I'm hit!"); } 


рдкреНрд░рд╛рдердорд┐рдХ, рд╕рд╣реА? рдкреГрд╖реНрда рдХреЗ рдХреБрдЫ рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо PHP рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ?

рдкрд╣рд▓рд╛ рд╕рд╡рд╛рд▓ рдЙрдареЗрдЧрд╛ "рд╡рд╕реНрддреБ рдХреА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд╣рд╛рдВ рдХрд░реЗрдВред" рджреВрд╕рд░рд╛ рдпрд╣ рд╣реИ рдХрд┐ "рдпрд╣ рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдХрд┐ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ?" рдареАрдХ рд╣реИ, рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдВрддрд╣реАрди рдЪрдХреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдШрдЯрдирд╛ рдкреНрд░рджреВрд╖рд┐рдд рд╣реЛрдЧреАред рдФрд░ рдлрд┐рд░ рд╣рдо рдХрдИ рдЧрдВрднреАрд░ рд╕реАрдорд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдВрддреЛрд╖рдЬрдирдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдорддрджрд╛рди рдХреА рдЖрд╡реГрддреНрддрд┐ рдмрд╣реБрдд рдХрдо рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓реЛрдб рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рди рд╣реЛрдВред рджреВрд╕рд░реЗ, рдЬрдм рдХрдИ рдШрдЯрдирд╛рдПрдВ рд╣реЛрдВрдЧреА, рддреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА рдХрд┐ рдЬрдм рддрдХ рдкрд╣рд▓рд╛ рд╣реИрдВрдбрд▓рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛, рддрдм рддрдХ рджреВрд╕рд░рд╛ рдЕрдкрдирд╛ рдХрд╛рдо рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддрд╛ред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ рдХрдиреЗрдХреНрд╢рди рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рд▓реЗрдХрд┐рди ReactPHP рджреГрд╢реНрдп рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЬрд╛рджреВ рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рдордЧреНрд░реА



рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдВрд░рдЪрдирд╛


рд╕рд░реНрд╡рд░ рднрд╛рдЧ рдореЗрдВ рджреЛ рдЕрд╕рдордорд┐рдд рдХреЛрдб рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ: рдХреИрд╕рд┐рдХ рд╡реЗрдм рдкреЗрдЬ (рдЗрдВрдбреЗрдХреНрд╕, рдкрд╛рд╕рд╡рд░реНрдб рд░рд┐рдХрд╡рд░реА) рдФрд░ рдПрдХ рдбреЗрдореЛ рдЪреИрдЯ рд╕реЗрд╡рд╛ред
рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреНрд▓рд╛рдЗрдВрдЯ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕рддреНрд░ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред

рдбреЗрдорди рдореВрд▓ рд░реВрдк рд╕реЗ MyApp / Chat рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдлрд╝реНрдЯ рдкреИрдХреЗрдЬ рд╕реЗ MessageComponentInterface рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЧрдП рддрд░реАрдХреЗ onOpen , onClose , onError рдФрд░ onMessage рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ ред
рдСрдирд░рд░ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рд╣реИрдВрдбрд▓рд░, рдЪреЗрди-рдСрдл-рд░рд┐рд╕реНрдкреЙрдиреНрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдкреИрдЯрд░реНрди рд╣реИред рдХреЛрдб рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЯреБрдХрдбрд╝рд╛ рдСрдирдореИрд╕реЗрдЬ рдерд╛, рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рд╕рдорд╛рдзрд╛рди


  1. рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдореБрдЭреЗ рд╕рд╛рдордиреЗ рдЖрдИ, рд╡рд╣ рдпрд╣ рдереА рдХрд┐ рд╡реЗрдЯрд▓реНрд╕, рдХрд╕реНрдЯрдо рд╣реИрдВрдбрд▓рд░ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдИ рддреНрд░реБрдЯрд┐, рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдкрд╡рд╛рдж рдХреЗ рдбреЗрдореЙрди рдХреЛ рдорд╛рд░ рдбрд╛рд▓реЛред рд╡рд╕рд╛ рдФрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдорджрдж рд╕реЗ рд╣рд▓ рдХреА рдЬрд╛рддреА рд╣реИред рдореЗрд░реА рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╕рдордп рдХреА рднрд╛рд░реА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд╣рд╛рде рдкрд░реАрдХреНрд╖рдгреЛрдВ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдкрд╛рдП, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рд╣реЛрдЧрд╛ред рд╕рд░рд▓ рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рд╢рд╛рдпрдж рдЖрдк рд╕реНрд╡рдпрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдмрд╕ рдХрд╕реНрдЯрдо ErrorHandler + рд▓реЙрдЧрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  2. рдПрдХ рд╕рдорд╕реНрдпрд╛ рддрдм рд╕рд╛рдордиреЗ рдЖрдИ, рдЬрдм рдХрдИ рджрд┐рдиреЛрдВ рдХреЗ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж, рдХрд┐рд╕реА рдиреЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЪреИрдЯ рдбреЗрдореЙрди рдиреЗ 100% рд╕реАрдкреАрдпреВ рдЦрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЪреИрдЯ рдореЗрдВ рдХреЛрдИ рдмреНрд░реЗрдХ рдирд╣реАрдВ рдереЗред GitHub рдкрд░ рдкрд╛рдП рдЧрдП рд▓реЗрдЦрдХ рд╢рд╛рдлрд╝реНрдЯ рд╕реЗ рдПрдХ рдкреИрдЪ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдЕрднреА рднреА ReactPHP рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред
    рдкреИрдЪ
    diff --it / a / seller / reaction / stream / React / Stream / Buffer.php b / рд╡реЗрдВрдбрд░ / рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ / рд╕реНрдЯреНрд░реАрдо / рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ / рд╕реНрдЯреНрд░реАрдо / рдмрдлрд░ / рдПрдлрдкреА
    рд╕реВрдЪрдХрд╛рдВрдХ e516628..4560ad9 100644
    @@ -83.8 +83.8 @@ рдХреНрд▓рд╛рд╕ рдмрдлрд╝рд░ EventEmitter рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ WritableStreamInterface

    рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рд╕рдВрднрд╛рд▓ ()
    {
    - if (! is_resource ($ рдпрд╣-> рд╕реНрдЯреНрд░реАрдо) || ('generic_socket' === $ this-> рдореЗрдЯрд╛ ['stream_type'] && feof ($ this-> stream)) {
    - $ рдпрд╣-> рдЙрддреНрд╕рд░реНрдЬрди ('рддреНрд░реБрдЯрд┐', рд╕рд░рдгреА (рдирдИ \ RuntimeException ('рдмрдВрдж рдпрд╛ рдЕрдорд╛рдиреНрдп рд╕реНрдЯреНрд░реАрдо рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА)');
    + рдЕрдЧрд░ (is_resource ($ рдпрд╣-> рд╕реНрдЯреНрд░реАрдо)) {
    + $ рдпрд╣-> рдЙрддреНрд╕рд░реНрдЬрди ('рддреНрд░реБрдЯрд┐', рд╕рд░рдгреА (рдирдпрд╛ \ RuntimeException (рдЕрдорд╛рдиреНрдп рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред)), рдЗрд╕ $);

    рд╡рд╛рдкрд╕реА;
    }
    @@ -107.6 +107.12 @@ рдХреНрд▓рд╛рд╕ рдмрдлрд╝рд░ EventEmitter рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ WritableStreamInterface
    рд╡рд╛рдкрд╕реА;
    }

    + рдЕрдЧрд░ (0 === $ рднреЗрдЬрд╛ рдЧрдпрд╛ && feof ($ рдпрд╣-> рд╕реНрдЯреНрд░реАрдо)) {
    + $ рдпрд╣-> рдЙрддреНрд╕рд░реНрдЬрди ('рддреНрд░реБрдЯрд┐', рд╕рд░рдгреА (рдирдИ \ RuntimeException ('рдмрдВрдж рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред), рдЗрд╕ $));
    +
    + рд╡рд╛рдкрд╕реА;
    +}
    +
    $ рд▓реЗрди = рд╕реНрдЯреНрд░рд▓реЗрди ($ рдпрд╣-> рдбреЗрдЯрд╛);
    if ($ len> = $ this-> softLimit && $ len - $ рднреЗрдЬрд╛ <$ this-> softLimit) {!!!!
    $ рдпрд╣-> рдЙрддреНрд╕рд░реНрдЬрди ('рдирд╛рд▓реА');

  3. рдХрдиреЗрдХреНрд╢рди рдкреНрд░рддрд┐рдзрд╛рд░рдг рд╢рд╛рдпрдж рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реИред рдПрдХ рд╡рд╛рдпрд░реНрдб рдиреЗрдЯрд╡рд░реНрдХ рдпрд╛ рд╕рднреНрдп рд╡рд╛рдИ-рдлрд╛рдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрдиреЗрдХреНрд╢рди рдкрд░, рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдореЛрдмрд╛рдЗрд▓ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореЛрдмрд╛рдЗрд▓ рдСрдкрд░реЗрдЯрд░ рд╕реНрдерд╛рдпреА рдХрдиреЗрдХреНрд╢рди рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдХрдИ рд╢рд░реНрддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдмреАрдПрд╕ рдХрдордЬреЛрд░ рд░реВрдк рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рд╣рд░ рдХреЛрдИ рдЪреИрдЯ рдореЗрдВ рдЪреБрдк рд╣реИ, рддреЛ рдЗрд╕реЗ 30 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕реЗ рдлреЗрдВрдХрд╛ рднреА рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд░реЛрдХрдерд╛рдо рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЧрддрд┐рд╡рд┐рдзрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХреЛ рдкрд┐рдВрдЧ рдХрдорд╛рдВрдб рдХрд╛ рдПрдХ рдЪрдХреНрд░реАрдп рднреЗрдЬ рджрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдПрдХ рдЕрдзрд┐рдХ рд╡реНрдпрд╕реНрдд рдмреАрдПрд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
    рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд░рд╣рд╛ рдерд╛: рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдореМрдЬреВрдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд░рдгреА рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡рд┐рдпреЛрдЧ рдореЗрдВ рджреЗрд░реАред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдХреЛрдИ рднреА рдиреАрдВрдж () рдпрд╣рд╛рдВ рдЕрдЪреНрдЫреА рдирд╣реАрдВ рдереАред рдореИрдВрдиреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдХрддрд╛рд░ рд╕рд░реНрд╡рд░ рднреА рд╢рд╛рдорд┐рд▓ рдерд╛ред рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╕рд░рд▓ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдирд┐рдХрд▓рд╛: ReactPHP рдЖрдкрдХреЛ рдЯрд╛рдЗрдордкреНрд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ EventLoop рдкрд░ рд▓рдЯрдХрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
     private function handleDisconnection(User $user) { $loop = MightyLoop::get()->fetch(); //   EventLoop,      $detacher = function() use ($user) { //         ... }; if ($user->isAsyncDetach()) { $timer = $loop->addTimer(30, $detacher); // 30  $user->setTimer($timer); } else { $detacher(); } $user->getConnection()->close(); } 

  4. рдбреЗрдореЙрди рдореЛрдб рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЗрд╕реЗ рдЦреБрд▓рд╛ рд░рдЦрдиреЗ рдФрд░ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдХреЗ рдХреНрд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЭреЗ рдкреАрдбреАрдУ рд░реИрдкрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрд╕рд╛рдЦреА рд╡рд┐рдзрд┐ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдерд╛ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рд╕реЗ рдкрд╣рд▓реЗ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛:
     protected function checkConnection() { try { $this->dbh->query('select 1'); } catch (\Exception $e) { $this->init(); } } 

    рдХрд╛рд╢, рдореИрдВ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред рд╣рдореЗрдВ рдЕрднреА рднреА рд░реЗрдбрд┐рд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЪреВрдВрдХрд┐ рдПрдХ рддреИрдпрд╛рд░- рдкреВрд░реНрд╡- рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкреНрд░реАрд╕рд┐рдВрдХ-рдПрд╕реНрдХреЙрди рдкреИрдХреЗрдЬ рд╣реИред
  5. рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдПрдХ рдирдпрд╛ рдХрдиреЗрдХреНрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреНрд▓реЛрдирд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдореБрдЭреЗ рдЙрд╕реА рд╕рддреНрд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрд▓рд╛рд╕рд┐рдХ рдЪреИрдЯ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЬреЛ рдПрдХ рд╕рддреНрд░ рдХреЗ рд╕рд╛рде рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдпрд╛ рдЯреИрдм рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред


рдЕрдм рдХреНрдпрд╛ рдЪреИрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рд╕реАрдЦрдирд╛ рд╣реИ

рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ:

рдХреНрдпрд╛ рдмреБрд░рд╛ рд╣реИ:

рдЕрдВрддрд┐рдо рд░реВрдк рджрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ:


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ 2 рдорд╣реАрдиреЗ рдмрд╛рдж рдХреНрдпрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? PHP рдореЗрдВ рдЕрднреА рднреА рдХреНрд╖рдорддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдПрдХ рдШрдЯрдирд╛-рдЙрдиреНрдореБрдЦ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреА рд╢реБрд░реБрдЖрдд рд░рдЦреА рдЧрдИ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рдЕрдм рддрдХ рднрд╛рд╖рд╛ рдкрдХрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реА рд╣реИ, рдФрд░ рдЖрдВрджреЛрд▓рди рдХрд╛ рдкреНрд░рдореБрдЦ рдирд╣реАрдВ рдмрди рдЧрдпрд╛ред рдпрджрд┐ рдЖрдк рд░реИрдЪреЗрдЯ рдФрд░ рдЯреЙрд░реНрдиреЗрдбреЛ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡реЗ рдЕрднреА рддрдХ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рдХрд╛рд░рд╛рддреНрдордХ рддреЗрдЬреА рдХреЗ рд╕рд╛рде рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ред

рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рд░рдЪрдирд╛рддреНрдордХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рдкреБрдирд╢реНрдЪ
Node.js рдмрдирд╛рдо ReactPHP рдкреНрд░рджрд░реНрд╢рди рддреБрд▓рдирд╛ рд▓реЗрдЦ ред
рд╕реЙрдХреЗрдЯ 2http рдкреНрд░реЙрдХреНрд╕реА рдЙрджрд╛рд╣рд░рдг ред

Source: https://habr.com/ru/post/In218751/


All Articles