рд╕рд┐рдореНрдлрдиреА CMFред рднрд╛рдЧ 1, рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг

рдЫрд╡рд┐

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдЧреНрд░рджреВрдд


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

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

рд╕рд┐рдореНрдлрдиреА рд╕реАрдПрдордПрдл


рд╕рд┐рдореНрдлрдиреА рд╕реАрдПрдордПрдл рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕реАрдПрдордПрд╕ рдореЗрдВ рдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╕рд┐рдореНрдлрдиреА рдлреНрд░реЗрдорд╡рд░реНрдХ 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:


рдпрд╣ рд╕реАрдПрдордПрдл рд╢рдмреНрдж рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ - рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╕реАрдПрдордПрд╕ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИ ред рд╕реАрдПрдордПрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд╣рд╛рдВ рд╕рднреА рдШрдЯрдХ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рд╕рдЦреНрддреА рд╕реЗ рдмрдВрдзреЗ рд╣реЛрддреЗ рд╣реИрдВ, рд╕рд┐рдореНрдлрдиреА рд╕реАрдПрдордПрдл рдореЗрдВ рдЖрдк:


рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓рд░ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдПрдХ рд╕реЗрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рди рдХрд┐ рдЯрд░реНрдирдХреА рдЯрд░реНрдирдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рдмрдВрдбрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рд╕реАрдПрдордПрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ рдФрд░ CMF рдХреНрдпреЛрдВ?


рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╛рдЬрд╛рд░ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддреИрдпрд╛рд░ рдЙрддреНрдкрд╛рдж рд╣реИрдВ, рджреЛрдиреЛрдВ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (1C-Bitrix, UMI) рдФрд░ рдореБрдлреНрдд (Drupal, MODx, Wordpress, Joomla)ред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдЬреЛ рднреА рд╕реАрдПрдордПрд╕ / рд╕реАрдПрдордПрдл рд╢рд┐рд▓рд╛рд▓реЗрдЦ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рд╡рд╛рд▓ рдЙрда рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдФрд░ рдПрдордПрдордПрд╕ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрддрдиреЗ рднрд░реЗ рд╣реБрдП рд╣реИрдВред
рдФрд░ рдореИрдВ рдмрд┐рд▓рдХреБрд▓ рд╕рд╣рдордд рд╣реВрдВред рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВред

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

рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдЕрдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕реЛрдЪрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдХрд╛рд░рдг, рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛:


рдЗрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрдорд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдЖрд░реЛрдкреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдлрд┐рд▓рд╣рд╛рд▓ рдЗрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдордиреЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╢рдкрде рдирд╣реАрдВ рд▓реА рд╣реИ, рд╣рдо рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ CMS рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд┐рд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпреЗ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╕рд┐рдореНрдлрдиреА CMF рдореЗрдВ рдХреИрд╕реЗ рд╣рд▓ рдХреА рдЬрд╛рддреА рд╣реИрдВред рддреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:


рдЪрд▓реЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдбрд╛рдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдХреА рд╕рдорд╕реНрдпрд╛


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

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

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

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

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

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

рдЬрдм рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рд╛рдордЧреНрд░реА рд╣реЛрддреА рд╣реИ, рддреЛ рдПрдХ рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ , рдЙрдкрдкреНрд░рдХрд╛рд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдФрд░ рдХрдИ рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╣реИ)ред

рд╕рд╛рдордЧреНрд░реА рднрдВрдбрд╛рд░

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

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

JCR-170

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рдЙрдиреНрдореБрдЦ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдХреА рд╕рдорд╕реНрдпрд╛ рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдкреИрджрд╛ рд╣реБрдИ рдереА, рдЗрд╕рд▓рд┐рдП, 2000 рдХреЗ рджрд╢рдХ рдХреА рдкрд╣рд▓реА рдЫрдорд╛рд╣реА рдореЗрдВ, рдбреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ (рдЕрд░реНрдерд╛рддреН рдбреЗрд╡рд┐рдб рдиреНрдпреВрдХреНрд▓рд┐рдпрд░) рдХреЗ рд▓реЛрдЧреЛрдВ рдиреЗ рдЬрд╛рд╡рд╛ рдХрдореНрдпреБрдирд┐рдЯреА рдкреНрд░реЛрд╕реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рд╡рд╛ (рдЬреЗрд╕реАрдЖрд░ ) рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдВрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдПрдкреАрдЖрдИ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛, рдЬреЛ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ 170 рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛ред рдмрд╛рдж рдореЗрдВ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕рдВрдЦреНрдпрд╛ JSR-283 (2.0), JSR-333 (2.1, рдЕрдВрддрд┐рдо рдорд╕реМрджрд╛ 31 рдЕрдЧрд╕реНрдд рдХреЛ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛) рдХреЗ рддрд╣рдд рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдЕрдм рддрдХ рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд▓рд┐рдВрдХ рдЕрдзрд┐рдХ рдЖрдо рд╣реИред

рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рдЬреЛ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рднрдВрдбрд╛рд░рдг, рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рджрд╛рди рдХреА рдЧрдИ API рдЖрдкрдХреЛ XML рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг, рд▓реЗрдирджреЗрди, рдкрд░рд┐рд╡рд░реНрддрди рдЯреНрд░реИрдХрд┐рдВрдЧ, рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдЗрдирд░реА рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

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

рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЙрдирдХреЗ XPath рд╕рдордХрдХреНрд╖реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

рдЗрд╕ рддрд░рд╣ рдХреА рдЦреБрд╢реА рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рдПрдХ рдЬреНрд╡рд▓рдВрдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдкрд╛рдЪреЗ рдЬреИрдХрдмрдмрд┐рдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рднрдВрдбрд╛рд░ рд╣реИ, рдЬрд┐рд╕реЗ рдПрдХрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ (2004 рдореЗрдВ рдЬреЗрд╕реАрдЖрд░ рдПрдкреАрдЖрдИ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реБрдИ) рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдЗрд╕рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ, рд▓реЙрдХрд┐рдВрдЧ рдореИрдХреЗрдирд┐рдЬреНрдо рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВред

PHPCR

рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рдЬрд╛рд╡рд╛ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ! (рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЪреБрдЯрдХреБрд▓реЗ рд╕реБрдирд╛рддреЗ рд╣реИрдВ)
рд╣рдорд╛рд░реЗ рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, PHP рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдВрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдИ рдЧрдИ рдереА - рдКрдкрд░ рд╡рд░реНрдгрд┐рдд JCR API, PHP рдХреА рд╢реИрд▓реА рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐ рдПрдкреАрдЖрдИ рдПрдХ рд╣реА рд╣реИ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ: рдЖрдк рдПрдХ рдмрд╛рд░ рдЖрд╡реЗрджрди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдмреИрдХрдПрдВрдбреНрд╕ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ)ред
рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд▓рд╕ - рд╣рдо рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рд╕реАрдПрдордПрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдХреА рд╕рдорд╕реНрдпрд╛ рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ)ред
рдмреЗрд╢рдХ, рдЗрд╕ рддрд░рд╣ рдХреА рдкрд╣рд▓ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ - рдбреЗрд╡рд┐рдб рдиреЗ рдЬреЗрд╕реАрдЖрд░ 2.1 рдореЗрдВ PHPCR рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ ред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ред

рдЪреВрдБрдХрд┐ рдЖрдк рдЬрд╛рд╡рд╛ рд╕реЗ PHP рдореЗрдВ рд╕рд┐рд░реНрдл API рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗ рдФрд░ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрднреА рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рд╣реИрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ PHP рдХрдордЬреЛрд░ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╡рд┐рдзрд┐ рдЕрдзрд┐рднрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреБрдЫ рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЗрд╡рд▓ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЬрд╣рд╛рдВ рдПрдХ рдЕрдзрд┐рднрд╛рд░ рдерд╛, рд╡рд┐рдзрд┐рдпреЛрдВ рдиреЗ рдмрд╕ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХ рдЬреЛрдбрд╝реЗред рдорддрднреЗрджреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рдХреБрдЫ рднреА рднрдпрд╛рдирдХ рдирд╣реАрдВ рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, PHPCR рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:


(*) - рдЕрднреА рддрдХ рдЬреИрдХрд▓реЛрдк-рдЬреИрдХрдмрдмрд┐рдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХ), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдереЛрдбрд╝реА рдкреБрд░рд╛рдиреА рд╣реЛ рд╕рдХрддреА рд╣реИред

рдореБрдЦреНрдп PHPCR рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ :


рдХрд╣реАрдВ рд╣рдордиреЗ рдЗрд╕реЗ рд╕реБрдирд╛ рддреЛ рдирд╣реАрдВ?

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдРрд╕рд╛ рднрдВрдбрд╛рд░ рдХреИрд╕реЗ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ (рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ):

 <root> <cms> <pages> <home title="Hello"> <block title="News" content="Today: PHPCR presentation"></block> </home> <contact title="Contact" content="phpcr-users@groups.google.com"></contact> </pages> </cms> </root> 

рдЕрдм рддрдХ рдЕрд▓реМрдХрд┐рдХ рдХреБрдЫ рднреА рдирд╣реАрдВред
рдЖрдЗрдП рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рд╕рдореБрджреНрд░реА рдореАрд▓


рдиреЛрдб рдЧреБрдг


рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдиреЛрдбреНрд╕


рдорд┐рдХреНрд╕рд┐рди рдиреЛрдб рдкреНрд░рдХрд╛рд░


рдЙрджрд╛рд╣рд░рдг: рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ jcr:uuid рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИред Uuid рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ mix:referenceable рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ mix:versionable , рдФрд░ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ mix:versionable (рд▓реЗрдХрд┐рди рддрдм рд╣рдореЗрдВ рдЕрднреА рднреА рдЧреБрдг jcr:versionHistory , jcr:predecessors , jcr:baseVersion , jcr:isCheckedOut , jcr:mergeFailed , рдЖрджрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред )

рдХрд╛рд░реНрдпрд╕реНрдерд╛рдиреЛрдВ


PHPCR рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдФрд░ рдЕрдм рдЗрд╕ рд╕рдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг:

рд╕рддреНрд░ рдирд┐рд░реНрдорд╛рдг

 use PHPCR\SimpleCredentials; // ,      use Jackalope\RepositoryFactoryJackrabbit as Factory; $parameters = array( 'jackalope.jackrabbit_uri' => 'http://localhost:8080/server', ); $repository = Factory::getRepository($parameters); //         $creds = new SimpleCredentials('admin','admin'); $session = $repository->login($creds, 'default'); 

CRUD рдСрдкрд░реЗрд╢рди

 $root = $session->getRootNode(); //        $node = $root->addNode('test', 'nt:unstructured'); //        $node = $session->getNode('/test'); // /  $node->setProperty('prop', 'value'); //       $session->save(); //       $node->remove(); //  ,   -     $session->save(); 

рдкреЗрдбрд╝ рдХреА рдЯрд╣рдиреА

 $node = $session->getNode('/site/content'); foreach ($node->getNodes() as $child) { var_dump($child->getName()); } //   foreach ($node as $child) { var_dump($child->getName()); } //    foreach ($node->getNodes('di*') as $child) { var_dump($child->getName()); } 

рд╡рд░реНрдЬрд╝рдирд┐рдВрдЧ

 //   $node = $session->getNode('/site/content/about'); $node->addMixin('mix:versionable'); $session->save(); //    $node->setProperty('title', 'About'); $session->save(); // - ( ) //  - (   ) //         $session->save() $vm = $session->getWorkspace()->getVersionManager(); $vm->checkpoint($node->getPath()); //   $node->setProperty('title', 'Ups'); $session->save(); //    ,    ┬л  ┬╗ $vm->checkin($node->getPath()); $base = $vm->getBaseVersion($node->getPath()); $current = $base->getLinearPredecessor(); $previous = $current->getLinearPredecessor(); //     $frozenNode = $previous->getFrozenNode(); echo $frozenNode->getProperty('title'); // About //       $vm->restore(true, $previous); $node = $session->getNode('/site/content/about'); echo $node->getProperty('title'); // About 

рдЦреЛрдЬ

 $qm = $workspace->getQueryManager(); //  SQL2   "*"     //         // (. http://docs.jboss.org/exojcr/1.12.13-GA/developer/en-US/html/ch-jcr-query-usecases.html#d0e3332) $sql = "SELECT * FROM [nt:unstructured] WHERE [nt:unstructured].type = 'nav' AND ISDESCENDANTNODE('/some/path') ORDER BY score, [nt:unstructured].title"; $query = $qm->createQuery($sql, 'JCR-SQL2'); $query->setLimit($limit); $query->setOffset($offset); $queryResult = $query->execute(); foreach ($queryResult->getNodes() as $node) { var_dump($node->getPath()); } 


рдЗрд╕ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рдЕрдиреНрдп рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреИрдХреЗрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдЧрдпрд╛ рдЖрдХрд░реНрд╖рдХред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ:


рдорд┐рдбрдЧрд╛рд░реНрдб 2 PHPCR

Midgard2 C, Python рдФрд░ PHP рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд░реНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдХрдВрдЯреЗрдВрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИред

JCR рд╕реЗ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╢рдмреНрджрд╛рд╡рд▓реА , Midgard2 php5-midgard2 рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Midgard2 PHPCR рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред Libgda GNOME рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд░реНрдорд┐рдд, Midgard2 рд╕рдВрдмрдВрдзрдкрд░рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╕реВрдЪреА рд░рдЦрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдЖрдк рдЕрдкрдиреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдорд░рд╣рдо рдореЗрдВ рдордХреНрдЦреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреБрд░рдВрдд рдХрд╣реВрдБрдЧрд╛ - PHP рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛рдлреА рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ OS рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ 12.04 рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдкреИрдХреЗрдЬ рд╡рд╣рд╛рдВ рдирдП рд╣реИрдВ, рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХреНрд░реИрд╢ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдИрдЖрд░рд╕реА рдореЗрдВ рд╕рд┐рдореНрдлрдиреА рд╕реАрдПрдордПрдл рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдиреЗ рд╕реЗ, рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдпрд╣ рдмреИрдХреЗрдВрдб рдкреНрд░рджрд╛рддрд╛ рдХрдИ рдорд╣реАрдиреЛрдВ рд╕реЗ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд░реАрдХреНрд╖рдг рднреА рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдП рдЧрдП рд╣реИрдВред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдорд┐рдбрдЧрд╛рд░реНрдб 2 рдЯреАрдо рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмрд░реНрдЧреА рдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред

рдЖрдИрдЖрд░рд╕реА

рдореИрдВ рдорд┐рдбрдЧрд╛рд░реНрдб 2 PHPCR рдХреЛ рд╕рд┐рдореНрдлрдиреА CMF рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд┐рд▓рд╛ред рд╢рд╛рдпрдж рдХреЛрдИ рдФрд░ рд╕рдлрд▓ рд╣реЛрдЧрд╛ред рдЕрднреА рдирд╣реАрдВ, рддреЛ рдмрд╛рдж рдореЗрдВред

Jackalope

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


рдЬреИрдХрд▓реЛрдк (рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреИрдХрд▓реЛрдк-рдЬреИрдХрдмреЗрдЯ рдореЗрдВ) рдХрд╛рдлреА рд╕реНрдерд┐рд░ рд╣реИ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдмрд╕реЗ рдкреВрд░реНрдг PHPCR рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред рд╣рдо рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, phpcr-api- рдкрд░реАрдХреНрд╖рдг, рдЬреЛ PHPCR API рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рднреА рдЬреИрдХрд▓реЛрдк-рдбрдХреНрдЯрд╛рдЗрди-рдбрдмрд▓ рдХреЗ рд▓рд┐рдП рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдордп рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

PHPCR рд╕рд╛рд░рд╛рдВрд╢


рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬреЗрд╕реАрдЖрд░ рдПрдкреАрдЖрдИ рдорд╛рдирдХ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП (PHP рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд) рдПрдкреАрдЖрдИ рд╣реИред рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП, рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЛ рд╕рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдм рддрдХ, рджреЛ рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдЙрдардиреЗ рдЪрд╛рд╣рд┐рдП, рдФрд░ рджреЛрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

PHPCR рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ?


PHPCR рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХрдбрд╝рд╛рдИ рд╕реЗ рд╕рдВрд░рдЪрд┐рдд рд╕рд╛рдордЧреНрд░реА рдФрд░ рд╕рдордЧреНрд░ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдореЗрдВ, рдЙрддреНрдкрд╛рдж рд╡рд┐рд╡рд░рдг PHPCR рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрджреЗрд╢ RDBMS рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

PHPCR ODM


рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдкреАрдЖрдИ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░ рдФрд░ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ (рдЖрдЦрд┐рд░рдХрд╛рд░, рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдУрдЖрд░рдПрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред рдФрд░ рдпрд╣рд╛рдВ PHPCR ODM рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрддрд╛ рд╣реИ, рдЬреЛ PHPCR рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдореИрдкрд░ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИред

рдбреЙрдХреНрдЯреНрд░рд┐рди рдУрдЖрд░рдПрдо , рдПрд╕рдПрдл 2 (рдФрд░ рд╕рд┐рд░реНрдл рдПрд╕рдПрдл 2) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рдЖрд░рдбреАрдПрдордмреАрдПрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдореИрдкрд░ рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред

ODM, Doctrine ORM рдХреА рддрд░рд╣, рдбреЗрдЯрд╛ рдореИрдкрд░ рдХреЛ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд▓реЗрдпрд░ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдореИрдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИред рд▓реЗрдЦрдХ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ ODM рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИред

ODM, рд╡рд╕реНрддреБрдУрдВ рдХреЛ PHPCR рдиреЛрдбреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд╣рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЪреВрдВрдХрд┐ PHPCR рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдореВрд░реНрдд рдкрд░рдд (DBAL) рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

PHPCR ODM рд╢рдмреНрджрд╛рд╡рд▓реА рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреНрдпрд╛ рд╣реИ?

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд PHP рд╡рд░реНрдЧ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдпрд╛ рдмрд▓реНрдХрд┐, рдЖрдк рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ) рдФрд░ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдЕрдореВрд░реНрдд рд╡рд░реНрдЧреЛрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдРрд╕реА рдЗрдХрд╛рдИ рдореЗрдВ final рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, clone() рдФрд░ wakeup() рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдпрд╛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдХрд░реЗрдВ ред рдПрдХ рдЗрдХрд╛рдИ рдореЗрдВ рд╣реА рдРрд╕реЗ рдЧреБрдг рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ ODM рдбреЙрдХреНрдЯреНрд░рд┐рди рдХреЙрдорди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЬреЛ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ (рдПрдиреЛрдЯреЗрд╢рди, рдХреИрд╢рд┐рдВрдЧ, рдФрд░ рдСрдЯреЛрд▓реЙрдб рдСрдл рдХреНрд▓рд╛рд╕) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдореЗрдВ рдХреНрд▓рд╛рд╕ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреА рдореИрдкрд┐рдВрдЧ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ - PHP рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдпрд╛ YAML / XML рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдПрдХ рд╢реАрд░реНрд╖рдХ рдФрд░ рд╢реАрд░реНрд╖рдХ рд╣реИред рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдПрдХ рдкреЗрдбрд╝ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирдореВрдирд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 namespace Demo; use Doctrine\ODM\PHPCR\Mapping\Annotations as PHPCRODM; /** * @PHPCRODM\Document */ class MyDocument { /** * @PHPCRODM\Id */ private $id; /** * @PHPCRODM\ParentDocument */ private $parent; /** * @PHPCRODM\Nodename */ private $name; /** * @PHPCRODM\Children */ private $children; /** * @PHPCRODM\String */ private $title; /** * @PHPCRODM\String */ private $content; //            } 

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

рдбреЗрдЯрд╛ рдореИрдкрд░ рдкреИрдЯрд░реНрди рд╕реЗ рдЕрдкрд░рд┐рдЪрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдРрд╕реА рдХрдХреНрд╖рд╛рдПрдВ рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб (рд╣рд╛рдп, рд░реЗрд▓ рдФрд░ рд╡рд╛рдИрдЖрдИ-рд╢рдиреАрдХреА) рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╡реИрд╕реЗ рднреА рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВред

рдРрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ?

 require_once '../bootstrap.php'; //     $rootDocument = $documentManager->find(null, '/'); //    $doc = new \Demo\Document(); $doc->setParent($rootDocument); $doc->setName('doc'); $doc->setTitle('My first document'); $doc->setContent('The document content'); //  ,    $childDocument = new \Demo\Document(); $childDocument->setParent($doc); $childDocument->setName('child'); $childDocument->setTitle('My child document'); $childDocument->setContent('The child document content'); //     ,        $documentManager->persist($doc); $documentManager->persist($childDocument); //   ,   ..   $documentManager->flush(); 

 require_once '../bootstrap.php'; $doc = $documentManager->find(null, "/doc"); echo 'Found '.$doc->getId() ."\n"; echo 'Title: '.$doc->getTitle()."\n"; echo 'Content: '.$doc->getContent()."\n"; foreach($doc->getChildren() as $child) { if ($child instanceof \Demo\Document) { echo 'Has child '.$child->getId() . "\n"; } else { echo 'Unexpected child '.get_class($child)."\n"; } } //   $documentManager->remove($doc); $documentManager->flush(); 

рдПрдХ рдЫреЛрдЯрд╛ рдиреЛрдЯ - ORM рдореЗрдВ, рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрдо рд╣реИред ODM рдореЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред

PHPCR ODM рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ - рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдмрд╣реБрднрд╛рд╖рд╛рд╡рд╛рджред рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

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

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рдЧреИрд░-рд░реЗрдЦреАрдп рд╕рдВрд╕реНрдХрд░рдг рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ (рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП PHPCR-ODM рдореЗрдВ рдЕрднреА рддрдХ рд╕рд╣рд╛рдпрдХ рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВ) рдФрд░ рд▓реЗрдмрд▓ (рдЬреЛ рдХрд┐ рдЬреИрдХрд▓реЛрдк рдЬреИрд╕реЗ рд╣реА рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ) рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рд▓реЗрдмрд▓ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рдкреВрд░реЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд▓рд┐рдП рд▓реЗрдмрд▓ рдХреЛ рджреЛ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛)ред

рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг mix:versionablePHPCR рд╕реЗ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, PHPCR рд╕рдВрд╕реНрдХрд░рдг рдПрдкреАрдЖрдИ рдкреВрд░реА рддрд░рд╣ рд╕реЗ PHPCR ODM рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдкреВрд░реНрдг рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрднреА рднреА PHPCR\VersionManagerрд╕реАрдзреЗ PHPCR рд╕рддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ рдпрд╣рд╛рдБ рдФрд░ рдпрд╣рд╛рдБ ред

рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдирд╛рдо PHPCR рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рддрд┐рдмрджреНрдз рд╕рдВрджреЗрд╢ рдХреА рдХреЛрдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИ (рдЕрднреА рддрдХ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ)ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдИ рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрд╢реЛрдзрди рдФрд░ рдмрдЪрдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ (рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реИ рдЬрдм restoreVersion()рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП removeVersion()ред

рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 /** * @Document(versionable="simple") */ class MyPersistentClass { /** @VersionName */ private $versionName; /** @VersionCreated */ private $versionCreated; } 

рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рдкреНрд░рд▓реЗрдЦрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдЦрдХ рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ Phpdoc рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдРрд╕реЗ рдЙрдЪреНрдЪ рдорд╛рдорд▓реЛрдВ рдкрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рдЯрд┐рдХреЗрдВрдЧреЗ, рдЖрдЗрдП рдПрдХ рдЫреЛрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред

 $article = new Article(); $article->id = '/test'; $article->topic = 'Test'; $dm->persist($article); $dm->flush(); //         $dm->checkpoint($article); $article->topic = 'Newvalue'; $dm->flush(); //     $versioninfos = $dm->getAllLinearVersions($article); $firstVersion = reset($versioninfos); //        $oldVersion = $dm->findVersionByName(null, $article->id, $firstVersion['name']); echo $oldVersion->topic; // "Test" //    $article = $dm->find('/test'); echo $article->topic; // "Newvalue" //       $dm->restoreVersion($oldVersion); //   echo $article->topic; // "Test" //    ,    $article->topic = 'Newvalue'; $dm->flush(); $dm->checkpoint($article); //      (     ) $dm->removeVersion($oldVersion); 

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

 /** * @PHPCRODM\Document(translator="attribute") */ class MyPersistentClass { /** *    * @Locale */ private $locale; /** *   * @Date */ private $publishDate; /** *   * @String(translated=true) */ private $topic; /** *     * @Binary(translated=true) */ private $image; } 

рдФрд░ рдпрд╣рд╛рдБ рдЕрдиреБрд╡рд╛рдж рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рд╣реИ:

 //   DocumentManager (   ) $localePrefs = array( 'en' => array('fr'), 'fr' => array('en'), ); $dm = new \Doctrine\ODM\PHPCR\DocumentManager($session, $config); $dm->setLocaleChooserStrategy(new LocaleChooser($localePrefs, 'en')); //   : $doc = new Article(); $doc->id = '/my_test_node'; $doc->author = 'John Doe'; $doc->topic = 'An interesting subject'; $doc->text = 'Lorem ipsum...'; //     $dm->persist($doc); $dm->bindTranslation($doc, 'en'); //          $doc->topic = 'Un sujet int├йressant'; $dm->bindTranslation($doc, 'fr'); //    echo $doc->locale; // fr //    PHPCR $dm->flush(); //       // (   ) $doc = $dm->find(null, '/my_test_node'); //     $doc = $dm->findTranslation(null, '/my_test_node', 'fr'); $doc->title = 'nouveau'; $dm->flush(); //    ,     

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡реЗ рд▓реЙрдЧрд┐рдВрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдХреИрд╢рд┐рдВрдЧ рдХрд░реЗрдВрдЧреЗ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ (рдпрд╣ рдЕрднреА рднреА рдмрд╣реБрдд рджреБрд░реНрд▓рдн рд╣реИ), рд╡реЗ рдбреЙрдХреНрдЯреНрд░рд┐рди рдбреАрдмреАрдПрдПрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╕реЛрд▓рд░ / рдЗрд▓рд╛рд╕реНрдЯрд┐рдХрд╕рд░реНрдЪ рд╕рдорд░реНрдерди рдХреЛ рдХрд╕ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореЛрдВрдЧреЛрдбреАрдмреА рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреИрдХрдмрдмрд┐рдЯ рдХреЗ рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг (рдХреЛрдбрдирд╛рдо рдУрдХ) рдкрд░ рдирдЬрд╝рд░ рдЧрдбрд╝рд╛рдП рд╣реБрдП рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдВрдЧрддрддрд╛ рдкрд░реАрдХреНрд╖рдг рднреА рдХрд┐рдП рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░реНрдп рдЕрднреА рднреА PHPCR рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдирд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣рдирд╛ред ODM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╕реНрдЯреИрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


рд▓реЗрдЦ рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдЬрд╛рд░реА рд╣реИ ред

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


All Articles