PHP7 рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рдмрд╛рдж, рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд▓рд╛рдЧрдд рдкрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП, prooph
, broadway
, prooph
, prooph
рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЧрдИ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд▓реЗрдЦрдХ рд╕рдмрд╕реЗ рдЖрдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЖрдк рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдХрджрдо рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рд╕рд╡рд╛рд▓ рдореЗрдВ рдкрдбрд╝рддреЗ рд╣реИрдВ?
рдЖрдЗрдП рдПрдХ рдФрд░ рдмрд╛рдЗрдХ рдХреЗ рднрд╛рдЧреНрдп рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдЬреЛ рдЖрдкрдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд / рд╕рджрд╕реНрдпрддрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо PHP рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд░реБрдЭрд╛рдиреЛрдВ рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рд╕рд╛рде рд╣реА рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдСрдкрд░реЗрд╢рди рдкрд░ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВрдЧреЗред
PHP рдорд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ
рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ, PHP рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз / рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рдереАред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрдореЛрд░реА рд▓реАрдХ, рдореЙрдирд┐рдЯрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдХрдиреЗрдХреНрд╢рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛ рдЬрд╛рдПрдЧреА рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рд╕рд┐рдореНрдлрдиреА рдврд╛рдВрдЪреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реАрдЖрд░рдпреВрдбреА рдЖрд╡реЗрджрди рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкрдврд╝рдиреЗ рдФрд░ JSON рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдИ рдЪрд░рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рд╕реНрдерд╛рди рдФрд░ рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, opcodes рдХреЛ рдЙрддреНрдкрдиреНрди / рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛):
- рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг;
- рдХрдВрдЯреЗрдирд░ рд╕рдВрдХрд▓рди;
- рд░реВрдЯрд┐рдВрдЧ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ
- рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди;
- рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрдиред
PHP рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ (рддреНрд╡рд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХреИрд╢рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдХреБрдЫ рдХрд╛рд░реНрдп рдЕрдЧрд▓реЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛), рд╕рд╛рде рд╣реА рд╕рд╛рде рдЖрд░рдВрднреАрдХрд░рдг рдореЗрдВ рджреЗрд░реА рднреА рд╣реБрдИред рд╕рдВрд╕реНрдХрд░рдг load.рек рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдкреНрд░реАрд▓реЛрдб рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛, рдЬреЛ рдЖрд╡реЗрджрди рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рд╛рд░рдВрдн рдХреЗ рд▓рд┐рдП рд╕рднреА рдУрд╡рд░рд╣реЗрдб рд▓рд╛рдЧрддреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдЖрдЗрдП PHP рдХреЛ рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВ
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ: рдпрджрд┐ рдЖрдк рд╣рд░ рдмрд╛рд░ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рдЖрд╡реЗрджрди рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред
PHP рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдореЗрдВ php-pm рдФрд░ RoadRunner рдЬреИрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИрдВред рджреЛрдиреЛрдВ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ:
- рдПрдХ рдореВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬреЛ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИ;
- рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдкреВрд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдЬрдм рдПрдХ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдорд╛рд╕реНрдЯрд░ рдкреВрд▓ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЗрд╕ рд╕рдордп рд▓рдВрдмрд┐рдд рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ;
- рдПрдХ рдмрд╛рд░ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ, рдФрд░ рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд▓ рдореЗрдВ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдХреЛрдИ рднреА рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд░ рдЬрд╛рддреА рд╣реИ, рддреЛ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреВрд▓ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╣рдордиреЗ рдПрдХ рд╣реА рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рд╕реЗ рдПрдХ рдбреЗрдореЙрди рдмрдирд╛рдпрд╛: рдЖрд░рдВрднреАрдХрд░рдг рдУрд╡рд░рд╣реЗрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЧрддрд┐ рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рдХреАред рдпрд╣ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рджрд░реНрджрдирд╛рдХ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдпрд╣реА рдирд╣реАрдВ рд╣реИред
рдиреЛрдЯ:
рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг "ReactPHP рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд▓рд╛рд░рд╡реЗрд▓ рдПрди рдмрд╛рд░ рдХреЛ рддреЗрдЬ рдХрд░рддреЗ рд╣реИрдВ" рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдбрд┐рдореЙрдиреЗрдЯрд╛рдЗрдЬрд┐рдВрдЧ (рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдмреВрдЯрд╕реНрдЯреНрд░реИрдкрд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд╕рдордп рдХреА рдмрдЪрдд) рдФрд░ рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
Php-pm рдпрд╛ roadrunner рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХрд╛ рдХреЛрдб рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИред рдЖрдк рд╕рд┐рд░реНрдл рдЖрд░рдВрднреАрдХрд░рдг рдкрд░ рд╕рдордп рдмрдЪрд╛рддреЗ рд╣реИрдВред
Php-pm, roadrunner рдФрд░ ReactPHP / Amp / Swoole рдХреА рддреБрд▓рдирд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рджреНрд╡рд╛рд░рд╛ рдЧрд▓рдд рд╣реИред
PHP рдФрд░ I / O
PHP рдореЗрдВ I / O рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрд╢рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рдХреЙрд▓ рд╣реЛрддреА рд╣реИрдВ, рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдВрд╕рд╛рдзрди рдЙрддрдиреЗ рд▓рдВрдмреЗ рд╣реЛрддреЗ рд╣реИрдВред рджрд░рдЕрд╕рд▓, рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдореЗрдВ рдХрдИ рдмрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд▓реЙрдЧ рдХреЛ рдХреБрдЫ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдПрдВ, рдЕрдВрдд рдореЗрдВ - рдПрдХ рдЕрд╡рд░реБрджреНрдз рдСрдкрд░реЗрд╢рди рднреАред
рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдПрдХ рдХреЙрд▓ рд╕реЗрдВрдЯрд░ рдСрдкрд░реЗрдЯрд░ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдПрдХ рдШрдВрдЯреЗ рдореЗрдВ 50 рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЖрдк рдкрд╣рд▓реЗ рдирдВрдмрд░ рдХреЛ рдбрд╛рдпрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣рд╛рдБ рд╡реНрдпрд╕реНрдд рд╣реИ (рдЧреНрд░рд╛рд╣рдХ рдлреЛрди рджреНрд╡рд╛рд░рд╛ рдЧреЗрдо рдСрдлрд╝ рдереНрд░реЛрдиреНрд╕ рдХреА рдЕрдВрддрд┐рдо рд╢реНрд░реГрдВрдЦрд▓рд╛ рдФрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд▓реБрдврд╝рдХрд╛ рд╣реБрдЖ рд╣реИ) рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдЕрдм рдЖрдк рдмреИрдареЗ рд╣реИрдВ рдФрд░ рдЬреАрдд рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕рдордп рдмреАрддрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдкрд╛рд░реА рдПрдХ рдХрд░реАрдмреА рдХреЗ рд▓рд┐рдП рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рдкрд╣рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ 40 рдорд┐рдирдЯ рдЧрдВрд╡рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рджреВрд╕рд░реЛрдВ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдмреЙрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдЪреВрдХ рдЧрдПред
рд▓реЗрдХрд┐рди рдЖрдк рдЕрдиреНрдпрдерд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рди рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рдкрд╣рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рдореБрдХреНрдд рди рд╣реЛ рдЬрд╛рдП рдФрд░ рдЬреИрд╕реЗ рд╣реА рдЖрдк рдмреАрдк рд╕реБрдиреЗрдВ, рд▓рдЯрдХ рдЬрд╛рдПрдВ рдФрд░ рдЕрдЧрд▓рд╛ рдирдВрдмрд░ рдбрд╛рдпрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдЖрдк рдкрд╣рд▓реЗ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЕрдзрд┐рдХрддрдо рд▓реЛрдЧреЛрдВ рдХреЛ рдлрд╝реЙрдЗрди рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрд╣реБрдд рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЖрдкрдХреЗ рдХрд╛рдо рдХреА рдЧрддрд┐ рд╕рдмрд╕реЗ рдзреАрдореА рдХрд╛рд░реНрдп рдкрд░ рдЖрд░рд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рдХреЛрдб рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдзрд╛рдЧреЗ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЕрд╡рд░реБрджреНрдз I / O рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде sleep()
) рдЬреИрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдЗрдП рд╣рдорд╛рд░реЗ рд╕рд┐рдореНрдлрдиреА CRUD рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред рдмреНрд▓реЙрдХрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдкреНрд░рдЪреБрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг рдЗрд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИ: рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░, рдХреИрд╢, рд▓реЙрдЧрд┐рдВрдЧ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдпреЗ рд╕рднреА рдХрдиреНрд╡реЗрдВрд╢рди рд╣реИрдВ, рдЖрдЗрдП рд╣рдо рд╕рд┐рдореНрдлрдиреА рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдПрдордкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрдХ рдкрд░ рдЪреЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдИрд╡реЗрдВрдЯ рд▓реВрдк (рдмрд╛рдЗрдВрдбрд░реНрд╕ рдХреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╕рд╣рд┐рдд), рдкреНрд░реЙрдорд┐рд╕ рдФрд░ рдХреЛрд░рд╛рдЯрд╛рдЗрди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╡рд╛рджрд╛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреБрдЫ http рд╕рдВрд╕рд╛рдзрди рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдо рдПрдХ рдЕрдиреБрд░реЛрдз рд╡рд╕реНрддреБ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкрд░рд┐рд╡рд╣рди рдХреЗ рдкрд╛рд╕ рднреЗрдЬрддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд╛рджрд╛ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╡рд╛рд▓реЗ рд╣рдореЗрдВ рджреЗрддрд╛ рд╣реИред рддреАрди рд╕рдВрднрд╛рд╡рд┐рдд рд░рд╛рдЬреНрдп рд╣реИрдВ:
- рд╕рдлрд▓рддрд╛: рд╣рдорд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реБрдЖ;
- рддреНрд░реБрдЯрд┐: рдЕрдиреБрд░реЛрдз рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдиреЗ 500 рдкреНрд░рддрд┐рд╕рд╛рдж рд▓реМрдЯрд╛рдпрд╛);
- рдкреНрд░рддреАрдХреНрд╖рд╛: рдЕрдиреБрд░реЛрдз рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрднреА рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рджрд╛ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╡рд╛рджрд╛ Amp рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ) - onResolve()
, рдЬрд┐рд╕рдореЗрдВ рджреЛ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд╛рд╕ рд╣реЛрддрд╛ рд╣реИред
$promise->onResolve( static function(?/Throwable $throwable, $result): void { if(null !== $throwable) { return; } } );
рдкреНрд░реЙрдорд┐рд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ: рдХреМрди рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдЧрд╛ рдФрд░ рд╣рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕реВрдЪрдирд╛ рджреЗрдЧрд╛?
рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрдХ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдПрдХ рдЕрдиреБрд╕реВрдЪрдХ рд╣реИ рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдХрд╛рд░реНрдп рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛) рдХреИрд╕реЗ, рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ рдЙрд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдирд┐рдХрд┐рддрд╛ рдкреЛрдкреЛрд╡ рдХреЗ рдПрдХ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛: рдХреЛрд░рдЯрд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╣рдХрд╛рд░реА рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ ред рдпрд╣ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрд╣рд╛рдВ рдЬрдирд░реЗрдЯрд░ рд╣реИрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯрддрд╛ рд▓рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдирдП рдЬреНрдЮрд╛рди рд╕реЗ рд▓реИрд╕, рдЖрдЗрдП рдЕрдкрдиреЗ JSON рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд╛рд░реНрдп рдкрд░ рд▓реМрдЯрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
Amphp / http-server рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ http рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг ред
рдЬреИрд╕реЗ рд╣реА рд╣рдо рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкрд╛рда рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рдореЗрдВ рд╡рд╛рджрд╛ рдорд┐рд▓рддрд╛ рд╣реИ) рдФрд░ рдЗрд╕рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрдард┐рдд рдкреНрд░рддрд┐рд╖реНрдард┐рдд JSON рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рд╣рдореЗрдВ рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдПрдореНрдлрд╝рдкреА / рдХреНрд▓рд╕реНрдЯрд░ рдХреА рдУрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдПрдХрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╕рдордп рдореЗрдВ рдХрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддреА рд╣реИ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдзрд╛рдЧрд╛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд░реАрдбрд┐рдВрдЧ рдкреВрд░реА рд╣реЛрдиреЗ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдкрдирд╛ рдЬрд╡рд╛рдм рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЬрдм рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛, рддреЛ рдЖрдк рдЕрдЧрд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рд░реНрд╡рд┐рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ PHP рдХреА рдЕрджреНрднреБрдд рджреБрдирд┐рдпрд╛
рддреНрдпрд╛рдЧ
рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ PHP рдХреЛ рдПрдХреНрд╕реЛрдЯрд┐рдХреНрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреБрдЫ рд╕реНрд╡рд╕реНрде / рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрд╕рд▓ рдореЗрдВ, рд╡реЗ "рдЧреЛ / рдХреЛрдЯрд▓рд┐рди, рдПрдХ рдореВрд░реНрдЦ", рдЖрджрд┐ рдХреА рд╢реИрд▓реА рдореЗрдВ рд╣рдВрд╕реА рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпреЗ рд▓реЛрдЧ рдЧрд▓рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди ...
рдРрд╕реА рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдЧреИрд░-рдЕрд╡рд░реЛрдзрдХ PHP рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВред рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рднреА рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рд╕рддрд╣реА рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рд╕реА рдореЗрдВ рджреВрд╕рд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдврд╛рдВрдЪрд╛ рдФрд░ PHP рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдЗрд╕ рд╕рдордп рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдХреЗрддрдХ рд╣реИред
рдЪреИрдирд▓, рдХреЙрд░рдЯрд┐рди рдФрд░ рдЕрдиреНрдп рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ рдЪреАрдЬреЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдкрд╛рд╕ 1 рдмрдбрд╝рд╛ рдЛрдг рд╣реИ - рдкреНрд░рд▓реЗрдЦрдиред рдпрджреНрдпрдкрд┐ рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╣реИ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдПрдкреАрдЖрдИ рд╕реНрд╡рдпрдВ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдм рд╕рд░рд▓ рдФрд░ рдЕрд╕рдВрджрд┐рдЧреНрдз рднреА рдирд╣реАрдВ рд╣реИред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдПрдХ рдЬреАрд╡рд┐рдд рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдЬреЛ рд▓рдбрд╝рд╛рдИ рдореЗрдВ рд╕реНрд╡реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдореИрдВ рдЕрдкрдиреЗ рдбрд░ рдХреЛ рджреВрд░ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЬрд╛рдКрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
Minuses рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдЕрдЧрд░ рдЖрдк рдЙрдЪрд┐рдд рд╕реНрддрд░ рдкрд░ рд╕реА рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред
рдпрджрд┐ рдпрд╣ рдЕрдкрдиреЗ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА (рд╕реНрд╡реЛрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛) рдХреА рдЧрддрд┐ рдореЗрдВ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рд╣реА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдЗрд╕рдХрд╛ ReactPHP рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рд╣реИ, рдЬреЛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ ReactPHP рдХреЗ рд╕рд╛рде рд╡рд┐рдкрдХреНрд╖ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
рдкреНрд▓рд╕ рдореЗрдВ рдПрдХ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╕рдореБрджрд╛рдп рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╡рд┐рдкрдХреНрд╖ рдЙрдкрдпреЛрдЧ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрддрд╛ рд╣реИ - рдпрд╣ рд╡рд╛рджрд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рдХрдИ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рдХреЙрд▓ рдХреЗ рдПрдХ рдЕрдВрддрд╣реАрди рдХреВрдбрд╝реЗрджрд╛рди рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ (рдлрд┐рд░ рдпрд╣рд╛рдВ рдПрдХреНрд╕рдЪреЗрдВрдЬ / рдХрддрд╛рд░ рдФрд░ рдЙрдирдХреЗ рдмрд╛рдЗрдВрдбрд░реНрд╕ рдмрдирд╛рдП рдмрд┐рдирд╛ RabbiqMQ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ )ред
рдПрдХ рдлрд╝рд╛рдЗрд▓ (рдЖрджрд░реНрд╢ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкрд░рд┐рд╢реЛрдзрди рдХреЗ рд╕рд╛рде, рдЖрдк рдХреЙрд░рдЯрд┐рди рдХрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░реЛрдорд┐рд╕ рдирд░рдХ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, ReactPHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП , recoilphp / recoil рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рд╕рдордЭрджрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рд░ рдЪреАрдЬ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдорд╣рд╕реВрд╕ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PostgreSQL рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рдоред
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдореМрдЬреВрджрд╛ рд╕рдордп рдореЗрдВ рдореМрдЬреВрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд╡рд┐рдХрд▓реНрдкред
рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рджреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрд░рдЯрд╛рдЗрди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЬреЛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдХреЛрдб PHP рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рджрд┐рдЦрддрд╛ рд╣реИред
рдбреЗрд╡рд▓рдкрд░реНрд╕ рд▓рдЧрд╛рддрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреВрд░рдХ рдФрд░ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рднреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рднреА рд▓рд╛рднреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рдореБрджрд╛рдп рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВрдПрд▓ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рднреА рдмреБрдирд┐рдпрд╛рджреА рдЪреАрдЬреЛрдВ (рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо, http рдХреНрд▓рд╛рдЗрдВрдЯ, рдбреАрдПрдирдПрд╕, рдЖрджрд┐) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред
рдореИрдВ рдЕрднреА рднреА рдПрдХреНрд╕реНрдЯ-рдЕрд╕рдВрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рднрд╛рдЧреНрдп рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд▓реЛрдЧ рдЗрд╕реЗ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред 3 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдпрд╣ рд╕рдордп рдмрддрд╛рдПрдЧрд╛ред
рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рднрд╛рдЧ рдХреЛ рдереЛрдбрд╝рд╛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛, рдпрд╣ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдФрд░ рдзрдХреНрдХреЛрдВ рдХреЛ рднрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдФрдкрдЪрд╛рд░рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ:
- рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрджреЗрд╢ (рд╕рдВрджреЗрд╢ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ 2 рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)
command
: рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ (рдХрдо рд╕реЗ рдХрдо рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ);event
: рдХрд┐рд╕реА рднреА рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЖрджреЗрд╢ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк)ред
- I / O рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдкреНрд░рд╛рд░реВрдк;
- рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛;
- рд╕рдВрджреЗрд╢ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
рдХреЛрдИ рднреА рд╕рдВрджреЗрд╢ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд╢рдмреНрджрд╛рд░реНрде рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рдХрд╛рд░ рдФрд░ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдирд╛рдордХрд░рдг рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдХреЛ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП, рдкреНрд░рдХрд╛рд╢рд┐рдд / рд╕рджрд╕реНрдпрддрд╛ рдкреИрдЯрд░реНрди рдХрд╛ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИред
рд╡рд┐рддрд░рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо RabbitMQ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВрдЧреЗред
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ ReactPHP , Bunny рдФрд░ DoctrineDBAL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХ рдЪреМрдХрд╕ рдкрд╛рдардХ рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбрдмрд▓ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП pdo / mysqli рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рд╕реНрддрд░ рдкрд░ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдерд╛ рдХрд┐ рдЕрдВрдд рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ PostgreSQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдХрдореА рдереАред рдХреБрдЫ рдбреНрд░рд╛рдлреНрдЯ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ (рдиреАрдЪреЗ рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ)ред
рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╢реЛрдз рдХреЗ рдмрд╛рдж, ReactPHP рдХреЛ Amp рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдФрд░ рдмрд╣реБрдд рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдЦрд░рдЧреЛрд╢ рдкрд░рд┐рд╡рд╣рди
рд▓реЗрдХрд┐рди Amp рдХреЗ рд╕рднреА рдлрд╛рдпрджреЛрдВ рдХреЗ рд╕рд╛рде, 1 рд╕рдорд╕реНрдпрд╛ рдереА: Amp рдореЗрдВ RabbitMQ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдирд╣реАрдВ рд╣реИ ( рдмрдиреА рдХреЗрд╡рд▓ ReactPHP рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ)ред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, Amp рдЖрдкрдХреЛ рдПрдХ рдкреНрд░рддрд┐рдпреЛрдЧреА рд╕реЗ рдкреНрд░реЙрдорд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди ReactPHP рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рд╕рдордп рдореЗрдВ, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдИрд╡реЗрдВрдЯ рд▓реВрдк рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдиреБрдХреВрд▓рди () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдмрдиреА рдореЗрдВ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдЫреЛрдбрд╝ рдЧрдИ рдФрд░ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред рдХрд╛рдо рдХреЛ рдирд╣реАрдВ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдереЛрдбрд╝рд╛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рдПрдПрдордкреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдЕрд╡рд░реБрджреНрдз рди рдХрд░реЗред
рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдмрд╣реБрдд рдбрд░рд╛рд╡рдирд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛, рд╣рд░ рд╕рдордп рдЬрдм рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╢рд░реНрдорд┐рдВрджрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЦреИрд░, рдЪреВрдВрдХрд┐ рдЕрд╕реНрдерд╛рдпреА рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рднреА рд╕реНрдерд╛рдпреА рдирд╣реАрдВ рд╣реИ, рдЕрдбреЙрдкреНрдЯрд░ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдЬреЛ рдЪрд╛рд▓рдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдирд╣реАрдВ рд╣реИред
рдФрд░ рдРрд╕рд╛ рдЖрджрдореА рдорд┐рд▓рд╛ред PHPinnacle рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, Amp рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдПрдХ рдПрдбрд╛рдкреНрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдЦрдХ рдХрд╛ рдирд╛рдо рдПрдВрдЯреЛрди рд╢рдмреЛрд╡рд╛ рд╣реИ, рдЬреЛ PHP рд░реВрд╕ рдХреЗ рднреАрддрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ php рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ PHP рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ ред
PostgreSQL
рдХрд╛рд░реНрдп рдХреА рджреВрд╕рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рд╣реИред "рдкрд╛рд░рдВрдкрд░рд┐рдХ" PHP рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╣реИ рдФрд░ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 3 рд▓реЗрдирджреЗрди)ред рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдХрд╛рдо рдХрд╛ рддрдВрддреНрд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:
- рд╣рдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдПрди рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рддреЗ рд╣реИрдВ (рдпрд╛ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рджреЗрд░реА, рдмрд┐рдВрджреБ рдирд╣реАрдВ);
- рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╣рдо рдкреВрд▓ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд▓реЗрддреЗ рд╣реИрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдХреЛрдИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ;
- рд╣рдо рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╛ рддреЛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕реЗ рдкреВрд▓ (рдкрд╕рдВрджреАрджрд╛) рдкрд░ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╣рдореЗрдВ рдПрдХ рд╕рдордп рдореЗрдВ рдХрдИ рд▓реЗрдирджреЗрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦреБрд▓реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг рдХрд╛рдо рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИред Amp рдореЗрдВ рдПрдХ amphp / postgres рдШрдЯрдХ рд╣реЛрддрд╛ рд╣реИред рд╡рд╣ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИ: рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛, рдЬреАрд╡рдирдХрд╛рд▓ рдФрд░ рдпрд╣ рд╕рдм рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддрд╛ рд╣реИред
рд╡реИрд╕реЗ, рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ReactPHP, рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдореНрдпреБрдЯреЗрдХреНрд╕
рдкреНрд░рднрд╛рд╡реА рдФрд░, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдЖрд╡реЗрджрди рдХреЗ рдЙрдЪрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдореНрдпреВрдЯреЗрдХреНрд╕ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рдо рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП 3 рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░, рд╕реНрдореГрддрд┐ рддрдВрддреНрд░ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдзрд┐рд╢реЗрд╖ рдХреЗ рдЙрдкрдпреБрдХреНрдд рд╣реИ;
- рдпрджрд┐ рд╣рдо рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд▓реЙрдХрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдмреЗрд╢рдХ, рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдореЛрдб рдореЗрдВ);
- рдпрджрд┐ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рддреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╝реБрдХрд╛рдЗрдкрд░ рдЬреИрд╕реЗ рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд░реЗрд╕ рд╣рд╛рд▓рдд рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореНрдпреВрдЯреЗрдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ (рдФрд░ рд╣рдо рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ) рдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдЕрдЦрдВрдбрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
рд▓реЙрдЧрд┐рдВрдЧ / рдХреЙрдиреНрдЯреЗрдХреНрдЯреНрд╕
рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдореЛрдиреЛрд▓реЙрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдирдХ рдмрди рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдХреИрд╡рд┐рдЯреНрд╕ рдХреЗ рд╕рд╛рде: рд╣рдо рдмрд┐рд▓реНрдЯ-рдЗрди рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рддрд╛рд▓реЗ рдХреЛ рдЬрдиреНрдо рджреЗрдВрдЧреЗред
StdOut рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк amphp / log рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдХреБрдЫ рдЧреНрд░реЗрд▓реЙрдЧ рдкрд░ рдПрдХ рд╕рд░рд▓ рд╕рдВрджреЗрд╢ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЪреВрдВрдХрд┐ рдПрдХ рд╕рдордп рдореЗрдВ, рд╣рдо рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рд▓реЙрдЧ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХрд┐рд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рджреМрд░рд╛рди, trace_id
( рд╡рд┐рддрд░рд┐рдд рдЕрдиреБрд░реЗрдЦрдг ) рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рдкреВрд░реА рдХреЙрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдПрдХ рдкрд╛рд╕-рдереНрд░реВ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рдордп, package_id
рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рджреЛрдиреЛрдВ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░рд┐рдХреЙрд░реНрдб рдХреНрдпрд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдкрд╛рд░рдВрдкрд░рд┐рдХ PHP рдореЗрдВ рд╣рдо рд▓реЙрдЧ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрд╕ рдХреНрд░рдо рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рд▓рд┐рдЦреЗ рдЧрдП рдереЗред рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдХреЛрдИ рдкреИрдЯрд░реНрди рдирд╣реАрдВ рд╣реИред
рд╕рдорд╛рдкреНрдд
рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣рдорд╛рд░реЗ рдбреЗрдореЙрди рдХреЗ рдмрдВрдж рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рд┐рд░реНрдл рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдХрд╛рд░реНрдп рдЬреЛ рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИрдВ, рд╡реЗ рдкреВрд░реЗ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдФрд░ рдбреЗрдЯрд╛ рдЦреЛ рдЬрд╛рдПрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рдорд╣рд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕рдордп рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдХрддрд╛рд░ рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдирдП рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ;
- рд╢реЗрд╖ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ (рд╡рд╛рджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ);
- рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВред
рд▓реАрдХ, рдбрд┐рдмрдЧрд┐рдВрдЧ
рдЖрдо рдзрд╛рд░рдгрд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрдзреБрдирд┐рдХ PHP рдореЗрдВ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ рдЬрд┐рдирдореЗрдВ рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╣реЛрддрд╛ рд╣реИред рдХреБрдЫ рдЧрд▓рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдмрд╛рд░ рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд▓рд╛рдкрд░рд╡рд╛рд╣реА рдХреЗ рдХрд╛рд░рдгред рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди, рдХрдиреЗрдХреНрд╢рди рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ 40 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдирдпрд╛ рдЯрд╛рдЗрдорд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдордп рдмрд╛рдж рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рдЬрд▓реНрджреА рдФрд░ рдХрд╛рдлреА рдЬрд▓реНрджреА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЪреМрдХреАрджрд╛рд░ рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рд╣рд░ 10 рдорд┐рдирдЯ рдореЗрдВ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ рдФрд░ gc_collect_cycles () рдФрд░ gc_mem_caches () рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ ред
рд▓реЗрдХрд┐рди рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдХреА рдЬрдмрд░рди рд╢реБрд░реБрдЖрдд рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХ рдФрд░ рдореМрд▓рд┐рдХ рдирд╣реАрдВ рд╣реИред
рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЙрдЧрд┐рдВрдЧ рдореЗрдВ рдПрдХ рдорд╛рдирдХ рдореЗрдореЛрд░реАрдпреВрдЬреЗрдЬрдкреНрд░реЛрд╕реЗрд╕рд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдЖрддрд╛ рд╣реИ рдХрд┐ рдИрд╡реЗрдВрдЯ рд▓реВрдк рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдЕрд╡рд░реБрджреНрдз рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЪреЗрдХ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдмрд╕ рд▓реВрдкрдмреНрд▓реЙрдХрд╡реЙрдЪ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ ред
рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред
рдкрд░рд┐рдгрд╛рдо
: php-service-bus , Message Based .
, :
composer create-project php-service-bus/skeleton pub-sub-example cd pub-sub-example docker-compose up --build -d
, , .
/bin/consumer
, .
/src
3 : Ping
; Pong
: ; PingService
: , .
PingService
, 2 :
public function handle(Ping $command, KernelContext $context): Promise { return $context->delivery(new Pong()); } public function whenPong(Pong $event, KernelContext $context): void { $context->logContextMessage('Pong message received'); }
handle
( 1 ). @CommandHandler
;
- Promise , RabbitMQ (
delivery()
). , RabbitMQ .
whenPong
тАФ Pong
. . @EventListener
;
, тАФ . , , , . php-service-bus , , .
2 : , ( ) . , , (, ).
Ping
, Pong
. .
, RabbitMQ:
tools/ping
, php-service-bus , Message based .
Ping\Pong, тАФ , , Hello, world
.
, .
- , , , Saga pattern (Process manager) .
, symfony/messenger .
, , .