рд╕рд┐рдореНрдлрдиреА 2.1 рдЬрд╛рд░реА рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣реИ, рдФрд░ рд╕рдореБрджрд╛рдп рдЕрднреА рднреА рдмреИрд╕рд╛рдЦреА рдХреЗ рдмрд┐рдирд╛ рдкреВрд░реНрдг рд░реАрд╕реНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣рд╛рдВ рдХреБрдЫ рдЧрд▓рдд рд╣реИред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдПрдХ рд▓реЗрдЦ рдЬреЛрд░ рд╕реЗ рд╢реАрд░реНрд╖рдХ
REST API рдХреЗ рд╕рд╛рде Symfony2: рдж рд░рд╛рдЗрдЯ рд╡реЗ рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдореЗрд░реЗ рд╢рдмреНрджреЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред рд╕рдВрдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреНрд░рдорд╛рдВрдХрди рдФрд░ рд╡рд┐рдЪрд▓рди рдореЗрдВ рд░рд╣рддреА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдФрд░ рд╕рдорд╛рдзрд╛рди рдХрдИ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдирд╣реАрдВред рдЪрд▓реЛ рд╕рдм рдХреБрдЫ рдХреНрд░рдо рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
JMSSerializerBundle, рд╢рд╛рдпрдж, рдлрд┐рд▓рд╣рд╛рд▓ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХреАрдХрд░рдг рдореЗрдВ рд░реБрдЭрд╛рди рд╣реИ (рдпрд╣ FOSRestBundle рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рднреА рд╣реИ)ред рдпрд╣ рдмрд╣реБрдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдХреНрд░рдорд╛рдВрдХрди рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рдФрд░ рдбрд┐рд╕реЗрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХрдИ рдЫреЛрдЯреА рдЕрдирд╕реБрд▓рдЭреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдХрдИ рдмрд╛рд░ рдЫреБрдЖ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреА рдЦреЛрдЬ рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдХ рдард╣рд░рд╛рд╡ рдкрд░ рдЖ рдЧрдпрд╛ рд╣реИред
рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдПрдХ рдмрдВрдбрд▓ рд╣реИ рдЬреЛ рдХреНрд░рдорд╢рдГ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдЦреАрдВрдЪрддреА рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд┐рдореНрдлрдиреА 2 рдХреЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╡рд╛рд▓ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛, рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред
рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдЕрд╢рдХреНрдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдмрд╛рдХреА рдПрдкреАрдЖрдИ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ - рдпрд╣ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рдмрд╣реБрдд рдмрдбрд╝рд╛
рдореБрджреНрджрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реНрдерд┐рддрд┐ рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реИред рдпрджрд┐ рдЖрдк json_decode рдФрд░ json_encode рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред рдПрдХреНрд╕рдПрдордПрд▓ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдерд╛ рдЬрдм
рд╕рд┐рджреНрдзрд╛рдВрдд-рдСрдХреНрд╕рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рддреАрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдПрдХ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдбреАрд╕рд░реНрд╡рд┐рд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЖрдВрд╢рд┐рдХ рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ POST / PATCH рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдпрд╣ рд╣реИ рдХрд┐ рд╕рд┐рдореНрдлрдиреА 2 рдореЗрдВ REST рдХреЗ рдЖрд╕рд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ FOSRestBundle рд▓реЛрдЧреЛрдВ рдХреЛ рдХреИрд╕реЗ рдмреЗрд╡рдХреВрдл рдмрдирд╛ рд░рд╣рд╛ рд╣реИред
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣рдо рдпрд╣ рдирд╣реАрдВ рдорд╛рди рд╕рдХрддреЗ рдереЗ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рднреА рд╕рд┐рдореНрдлрдиреА 2 рдореЗрдВ рдЖрд░рдИрдИрдПрд╕рдЯреА рдХрд╛ рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рд╣рдордиреЗ рдлреИрд╕рд▓реЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрд╛, рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдорд░ рдЪреЛрдИ рдиреЗ рдЧрд╛рдпрд╛, "рд╕рдм рдХреБрдЫ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕рдм рдХреБрдЫ рдЧрд▓рдд рд╣реИред" рдПрдХ рджрд┐рди рд╣рдо
рдмреЗрдВрдЬрд╛рдорд┐рди рдПрдмрд░реЗрд▓реА рдХреЗ рд╕рд╛рде рдЦреБрд╢ рдереЗ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдирд╛ рдмрдВрдбрд▓
SimpleThingsFormSerializerBundle рдмрдирд╛рдХрд░ рддреАрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдХреА рдУрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдмрд╛рдХреА рдХреЗ рд╕рд┐рдореНрдлрдиреА 2 рд╕рдореБрджрд╛рдп рдХреА рддрд░рд╣, рдпрд╣ 2.1 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде "рдЬреБрдиреВрдиреА" рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рднреА рдирд╣реАрдВ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИ, рдФрд░, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдерд╛ рдЬрд┐рд╕рдиреЗ 2.0 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдмрдирд╛рдИ рдереАред
рддреЛ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЦреБрд╢реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рдХрдЯ рд╣реИ, рдФрд░ рд╣рдо рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдХрдард┐рди рд╣реИ, рд╣рдо рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рдиреЗ рдФрд░ рдЕрдкрдиреА рдбреАрдЯреАрдУ (рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдСрдмреНрдЬреЗрдХреНрдЯ) рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдордЯрд╛рдЗрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ JMSSerializerBundle рдХреЛ SimpleThingsFormSerializerBundle рд╕реЗ рдмрджрд▓ рджреЗрдВред рдЙрдиреНрд╣реЛрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЦреБрд╢реА рдирд╣реАрдВ рдорд┐рд▓реАред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдирдпрд╛ рдмрдВрдбрд▓ рд╕рднреА рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рддрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрднреА рднреА рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдпрд╛ рдмреВрд▓рд┐рдпрди рдорд╛рди рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдВрдЧреЗред рд╣рдореЗрдВ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдорд┐рд▓рд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЗрдПрдордПрд╕ рд╕реЗрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкреНрд░рд╕реНтАНрддрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕реНтАНрддрд╛рд╡ рдерд╛ - рдлреЙрд░реНрдорд▓рд╛рдЗрдЬрд╝рд░ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреБрдЫ рдЧрд▓рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрд╕реНрдХрд░рдг 2.0 рдореЗрдВ рд╕рд┐рдореНрдлрдиреА рдлреЙрд░реНрдо рдХреЗрд╡рд▓ GET рдпрд╛ POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдВрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд╛рдХреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рдВ, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ REST рдХреЗ рд▓рд┐рдП рдкреНрд░рдкрддреНрд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ "рдлрд╛рдИ" рд╣реИрдВ, рдЗрд╕реЗ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рдЫреЛрдбрд╝ рджреЗрдВред рдореИрдВ рджреЛ рд╣рдлреНрддреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЙрдореНрдореАрдж рд╕реЗ рдЫреБрдЯреНрдЯреА рдкрд░ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХреБрдЫ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди ...
рдХрд╛рд░реНрдп рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ REST API рдореЗрдВ рд╣рдореЗрдВ json рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИред рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдк рд╣рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд▓реЗрддреЗ рд╣реИрдВ (рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рддрд░рд╣)ред рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреАрдЯреАрдУ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ рдЬреЛ рд╣рдореЗрд╢рд╛ рдЕрдкрдиреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ / рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЗрди рдбреАрдЯреАрдУ рдХреЛ рдЬреЗрд╕рди рдФрд░ рдмреИрдХ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде)ред рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ yml рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдФрд░ JMSSerializerBundle рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдкреВрд░реА рд╡рд┐рд╡рд┐рдзрддрд╛ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдлрд╝реАрд▓реНрдб рдХреА рдореИрдкрд┐рдВрдЧ ("рдХреНрд░рдордмрджреНрдз_рдирд╛рдо" рдФрд░ "рдкреНрд░рдХрд╛рд░") рдФрд░ рдзреНрд╡рдЬ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ "рдПрдХреНрд╕рдкреЛрдЬрд╝"ред
рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдЦреЛрдЬ рдХреАред рджреЛ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдорд┐рд▓реАрдВ:
FbsSerializer - рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, JMSSerializerBundle рдХрд╛ "рдкреВрд░реНрд╡рд╡рд░реНрддреА"ред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИрдВ, рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдореМрдЬреВрдж рд╣реИрдВ, рдФрд░ рдЕрдиреБрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХреНрд░рдордмрджреНрдз рднреА рдХрд░рддреА рд╣реИрдВ;
ObjectSerializer рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдпрд╣ рд▓рдЧрднрдЧ рдореЗрд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдореБрдЦреНрдп рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рд╕ рдореИрдкрд┐рдВрдЧ рдХреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЖрд╕рд╛рдиреА рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рдмрди рдЧрдпрд╛ред рдХреЛрдб рдЬрд┐рддрдирд╛ рд╕рд░рд▓ рд╣реЛрдЧрд╛, рдЙрддрдиреА рд╣реА рдХрдо рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА - рдмреЗрд╣рддрд░ рд╣реЛрдЧреАред рдореИрдВ рдРрд╕рд╛ рдХреЛрдб рдирд╣реАрдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдЬрд┐рд╕рдореЗрдВ рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реЛ, рдЬрд┐рд╕рдХреА рдХрд┐рд╕реА рдХреЛ рдХрднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред
<?php class Serializer { public function serialize($object) { $array = $this->arrayAdapter->toArray($object); return $this->adapter->serialize($array); } public function unserialize($data, $object) { $array = $this->serializerAdapter->unserialize($data); return $this->arrayAdapter->toObject($array, $object); } } ?>
рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рдорд╛рдВрдХрди рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд╕реНрддреБ рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реИред рдпрд╣ ArrayAdapter рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкреВрд░реЗ рддрд░реНрдХ рдХреЛ рдХреВрдЯрдмрджреНрдз рдХрд░рддрд╛ рд╣реИред рдЙрддреНрдкрдиреНрди рд╕рд░рдгреА рдЖрд╕рд╛рдиреА рд╕реЗ json рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ xml рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред Deserialization рдХреЗ рджреМрд░рд╛рди, рд╡рд┐рдкрд░реАрдд рд╕рдЪ рд╣реИ: рд╣рдо рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ ArrayAdapter рдЕрдкрдиреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреЗрдЯрд╛ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред
serializerAdapter рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ json_encode, json_decode рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрд╡рд░рдг рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рддрд░реНрдХ рдХрд┐рдП рдЧрдП рд╕рднреА рддрд░реНрдХ ArrayAdapter рдореЗрдВ рд╣реИрдВред рдпрд╣рд╛рдВ рд╣рдо рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛ рдФрд░ рдХреНрд░рдорд╛рдВрдХрди рдФрд░ JbsSerializerBundle рдХреЗ рд╡реИрдЪрд╛рд░рд┐рдХ рдЕрдВрддрд░ рдореЗрдВ рд╡реИрдЪрд╛рд░рд┐рдХ рдЕрдВрддрд░ рдкрд╛рддреЗ рд╣реИрдВред
рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреБрдЫ рдЬрдЧрд╣ рдореЗрдВ рд╕реНрдерд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рдпрдо рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЗрд╕ рд╕реНрдерд╛рди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрдИ рдкреНрд░рд╛рд░реВрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдмрджрд▓рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИред
рдЬреЛрд╣рд╛рдиреНрд╕ рд╢реНрдорд┐рдЯ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╕реЗ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдмрд╛рдж рдореЗрдВ, рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рджреМрд░рд╛рди, рд╕рднреА рдХрд╛рдо рдХреНрд░рдордмрджреНрдз рд╡рд╕реНрддреБ рдФрд░ рдЙрд╕рдХреЗ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╕реЗ рдЖрддреЗ рд╣реИрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрднрд╡ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╛ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЬрдЯрд┐рд▓ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдореЗрдВ (рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдЕрдирд╕реБрд▓рдЭреЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдФрд░ рдореЗрд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдореИрдВ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд░рддрд╛ рд╣реВрдВред рд╣рдо рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдПрдХ рд╡рд╕реНрддреБ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХреНрд░рдорд┐рдХ рд╡рд╕реНрддреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдкрдиреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рд╡рд░реНрддрдорд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдХрд┐рд╕ рдирд╛рдо рд╕реЗ рдЗрд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдо рдЧреЗрдЯреНрдЯрд░ / рд╕реЗрдЯрд░ рдХреЛ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рджрд┐рдП рдЧрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреВрдЫрд╛ - рдЙрдиреНрд╣реЗрдВ рдорд┐рд▓ рдЧрдпрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ:
<?php class ArrayAdapter { public function toArray($object) { $result = array(); $className = $this->getFullClassName($object); $metadata = $this->metadataFactory->getMetadataForClass($className); foreach ($metadata->getProperties() as $property) {
рдХреНрд░рдорд╛рдВрдХрди / deserialization рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рдЬреА рд╣реИрдВрдбрд▓ рд╡рд┐рдзрд┐ (рд▓рдЧрднрдЧ 60 рд▓рд╛рдЗрдиреЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдПрдХ yml рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдп рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдЖрдкрдХреЛ рджреЛ рдЪреАрдЬреЛрдВ рд╕реЗ рд╕рд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕реНрдерд╛рди (рд╡реЗ рдХрд╣реАрдВ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо, рдореЗрдореЛрд░реА, рдбреЗрдЯрд╛рдмреЗрд╕) рдФрд░ рдЙрдирдХрд╛ рдкреНрд░рд╛рд░реВрдк (yml, json, ini, xml)ред рдЙрд╕реА рд╕рдордп, рдЬреИрд╕рд╛ рдХрд┐ рдЯреАрдо рд▓реАрдбрд░ рдиреЗ рдиреЛрдЯ рдХрд┐рдпрд╛, "рд╣рдо рд╣рд░ рдмрд╛рд░ * .yml рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ", рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреИрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ: рдкреБрдЯ, рдЧреЗрдЯ, рд░рд┐рдореВрд╡ред рд▓реЗрдХрд┐рди рдореИрдВ рд╕рдордп рдкрд░ рд░реБрдХ рдЧрдпрд╛ рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рд╕реЗ рдЙрд╕ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рдЗрд╕рд▓рд┐рдП, рдорд╛рдореВрд▓реА рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде, рдХреЛрдб рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд╣рд╛рдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛрд╣рд╛рдиреНрд╕ рдХреЛ рд╕рд▓рд╛рдо рдХрд░рддрд╛ рдерд╛ред
рдирддреАрдЬрддрди, рдореИрдВ рдЯреАрдо рдХреЗ рд▓рд┐рдП 33 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдЦреЛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди
рд╕рд░рд▓- рд╕реАрд░реАрдХреЗрдЬрд╝рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░
рдУрдкрдиреНрд╕реЙрдлреНрдЯрд╕рд┐рдордкреНрд▓реЗрд╕реЗрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдмрдВрдбрд▓ рдмрдВрдбрд▓
рд▓рд┐рдЦрд╛ рдЧрдпрд╛
рдерд╛ ред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ:
рд╕рд┐рдореНрдлрдиреА / yaml рдШрдЯрдХрдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ:
- рдПрдХ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП, рдХреНрд░рдорд╛рдВрдХрди рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;
- рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд╕реНрддреБ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╕рдиреЗ рдФрд░ рдкрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
JMSSerializerBundle рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рд╛рдн:
- рдЗрд╕рдореЗрдВ рдХрдИ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВ, рдЬреИрд╕реЗ: рдПрдХ рд╢реВрдиреНрдп рдорд╛рди рдХреЗ рд╕рд╛рде рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ, рдореМрдЬреВрджрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдбреАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛;
- рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рджрд┐рдирд╛рдВрдХ рд╕реНрд╡рд░реВрдкрдг рдХреА рд╕реНрдерд╛рдкрдирд╛;
- рд╕рд┐рдореНрдлрдиреА 2 рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдВрдзрди рдирд╣реАрдВ рд╣реИред
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИред JMSSerializerBundle рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХрдо рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВред рд▓реЗрдХрд┐рди, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░реАрд╕реНрдЯ рдПрдкреАрдЖрдИ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рд╣реИред рдЬрдм рд╣рдо рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЖрд░рдИрдПрд╕рдЯреА рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо
рдбреАрдЯреАрдУ рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдП рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдПрдкреАрдЖрдИ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдЕрд╕реЗрдВрдмрд▓рд░ рдбреАрдЯреАрдУ рдХреЛ рдбреЛрдореЗрдирдСрдмрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рддреЗ рд╕рдордп рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╕реЗрдЯрд░ / рдЧреЗрдЯреНрдЯрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдФрд░ рджреВрд╕рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдкрдиреЗ рдЖрдк рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИред рдкрд╣рд▓рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рднреА рдХрд░рддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдФрд░ рдХрд┐рд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рджреЗрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдЕрддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпреЗ рдирд┐рдпрдо рдирд╣реАрдВ рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬрд╕рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред XML, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА REST рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдкреБрд░рд╛рдирд╛ рд╣реИред FOSRestBundle рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ HTML рдкреНрд░рд╛рд░реВрдк рдмрд╣реБрдд рджреВрд░ рдХреА рдХреМрдбрд╝реА рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░реАрдХреНрд╖рдг REST API рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ (рд╣реЗрд▓реЛ рдФрд░ рдХреЛрдВрд╕реНрдЯреЗрдВрдЯрд┐рди рдЙрд░реНрдл
рдПрд╡рд░рдЬреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж), рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐
рдбрд╛рдпрд╡рд░реНрдЯ рдирд╛рд░рд╛рдЬ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐
рдХреЛрдбрд▓рд╛рдЗрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИред
рдпрд╣ рдХреНрд░рдордмрджреНрдзрддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИред рд╡рд┐рдХрд▓реНрдк рдХрдо рд╕реЗ рдХрдо рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкреВрд░рдХ рдХрд░рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЖрдорддреМрд░ рдкрд░ JMSSerializerBundle рдХреЗ рд╕рдорд╛рди рд╣реЛрддреА рд╣реИ:
MyBundle\Model\Order properties: id: expose: true serialized_name: id type: integer
"рдПрдХреНрд╕рдкреЛрдЬрд╝" рд╡рд┐рдХрд▓реНрдк "рдЭреВрдареЗ" рдХреЛ рдбрд┐рдлреЙрд▓реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрди рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ рд╡рд╣ рдирд┐рд╖рд┐рджреНрдз рд╣реИред рд╢рд╛рдпрдж рдЙрдирдХреА рдпреБрд╡рд╛рд╡рд╕реНрдерд╛ рдореЗрдВ рдПрд╕реАрдПрд▓ рдХрд╛ рдкреНрд░рднрд╛рд╡ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЖрдк рдПрдХ рдкреВрд░реНрдг рдмрд╣рд┐рд╖реНрдХреГрдд / рдирд┐рд╖реНрдХрд╛рд╕рди рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Serialized_name рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ, рдпрджрд┐ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЙрд╕рдХреЗ рдирд╛рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдВрддрд┐рдо "рдкреНрд░рдХрд╛рд░" рд╡рд┐рдХрд▓реНрдк рднреА рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдпрджрд┐ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдХреЗ рд╕рд╛рде рдХреЛрдИ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред рдЕрдиреНрдпрдерд╛, рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдбрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдВрднрд╡ рдкреНрд░рдХрд╛рд░: рдкреВрд░реНрдгрд╛рдВрдХ, рдмреВрд▓рд┐рдпрди, рдбрдмрд▓, рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╕рд░рдгреА, рдЯреА, рд╕рд░рдгреА <рдЯреА>, рджрд┐рдирд╛рдВрдХ рд╕рдордп, рджрд┐рдирд╛рдВрдХ рд╕рдордп <рдкреНрд░рд╛рд░реВрдк>ред
JMSSerializerBundle рд╕реЗ рдореБрдЦреНрдп рдЕрдВрддрд░ рдПрдХ ArrayCollection рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдПрдХ DateTime <рдкреНрд░рд╛рд░реВрдк> рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИред рдкрд╣рд▓рд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдбреЙрдХреНрдЯреНрд░рд┐рди / рдСрд░рдо рдкрд░ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рддреА рд╣реИред рдпрджрд┐ рдЖрдк рд╕рд┐рдореНрдлрдиреА 2 рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ 90% рдореЗрдВ рд╕рдВрддреБрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдиреНрдп 10 рдкреНрд░рддрд┐рд╢рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛, рдпрд╛ рдЬреЛ рд▓реЛрдЧ рд╕рд┐рдореНрдлрдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рд╣рдо рдбреАрдЯреАрдУ рдХреЛ рдЖрд╡реЗрджрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рдЧрднрдЧ рдХреЛрдИ рд╕рдВрдЧреНрд░рд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╡реЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ рдХрд┐ рджрд┐рдирд╛рдВрдХ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдПрдХ DateTime рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдорд╛рдирддреА рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ DateTime рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдБ, JMSSerializerBundle рдореЗрдВ рдЖрдк рдПрдХ рдХрд╕реНрдЯрдо рджрд┐рдирд╛рдВрдХ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдкреНрд░рд╛рд░реВрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ, рд╕реАрдзреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЖрдк рдбреЗрдЯрд╛рдЗрдо рдХреНрд▓рд╛рд╕ рдХреЗ рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "ISO8601", рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рд╕реНрд╡рд░реВрдкрдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧред
рдЖрдк рдПрдХ TODO рд╕реВрдЪреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕реЗ рддрддреНрдХрд╛рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ:
1) рдЕрдиреНрдп рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдХреНрд░рдорд╛рдВрдХрди рд╡рд┐рдиреНрдпрд╛рд╕ (рдПрдиреЛрдЯреЗрд╢рди, рдПрдХреНрд╕рдПрдордПрд▓) рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ;
2) json рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ;
3) рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ;
4) рд╣реИрдВрдбрд▓ рдореЗрдВ рдХреЛрдб рдХреЛ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХрд░реЗрдВ, рд╡рд┐рдЬрд┐рдЯрд░, рдпрд╛ рдЪреИрди рдСрдл рд░рд┐рд╕реНрдкреЙрдиреНрд╕рд┐рдмрд┐рд▓рд┐рдЯреА, рдпрд╛ рдХреБрдЫ рдФрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ, рдЬрд┐рд╕рд╕реЗ рдХрд╕реНрдЯрдо рд╡реИрд▓реНрдпреВ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрдврд╝реЗ;
5) рдХреБрдЫ рдФрд░ред
рдЖрднрд╛рд░: рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкрдиреА рдЯреАрдо рдХреЗ рдиреЗрддрд╛ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ "рдЗрд╕реЗ рдЦрддреНрдо" рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдП рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХрдард┐рди, рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рд╕рдордп рдореЗрдВ рдзреИрд░реНрдп рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрд╕ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдЬреЛ рдХреАрдбрд╝реЗ рдХреЛ рдирд╖реНрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬрдмрдХрд┐ рдореИрдВ :) рдерд╛ред рдЬреЛрд╣рд╛рдиреНрд╕, рдмреЗрдВрдЬрд╛рдорд┐рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд╛рдВрдд рд▓реЛрдЧ рд╣реИрдВ, рдФрд░ рд╣рдо рдкрд╣рд┐рдпрд╛ рдХреЛ рд╕реБрджреГрдврд╝ рдХрд░рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдерд╛ред