рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕
рдкрд┐рдЫрд▓реЗ 3 рд╡рд░реНрд╖реЛрдВ рд╕реЗ, рдореИрдВ рдиреЛрд╡реЛрдЯреЗрд▓рдХреЙрдо рдЖрдВрддрд░рд┐рдХ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд┐рднрд╛рдЧ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЖрдИрдЯреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рднрд╛рдЧреЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕ 2008 рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ, рд╕рд╛рде рд╣реА рдЕрднрд┐рдпрд╛рди рдХреЗ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рдеред рдЙрд╕ рд╕рдордп, рдиреЗрддреГрддреНрд╡ рдиреЗ рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдереЗ, рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдмрд╛рдЬрд╛рд░ рдХреЛ рдЬреАрддрдирд╛ рдерд╛, рдФрд░ рдЗрд╕рдиреЗ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрдгрдпреЛрдВ рдкрд░ рдПрдХ рдЫрд╛рдк рдЫреЛрдбрд╝ рджреАред рд╡реАрдП рд╡рд┐рднрд╛рдЧ рдЬрд┐рд╕ рдореБрдЦреНрдп рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдЖрдВрддрд░рд┐рдХ рд╕реАрдЖрд░рдПрдо рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдорд╛рдирд╡ рд╕рдВрд╕рд╛рдзрди рдирд┐рдпреЛрдЬрди рдФрд░ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рддрддреНрд╡ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд▓рдВрдмреЗ рд╕рдордп рддрдХ, рд╕рд┐рд╕реНрдЯрдо рдПрдХ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд░реВрдкрд░реЗрдЦрд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╡рд╛рдИрдЖрдИрдЖрдИ рд╕реЗ рдорд┐рд▓рдиреЗ рдФрд░ рдЙрд╕ рдкрд░ рдХрдВрдкрдиреА рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЗрд╕ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрд░реЗрдЦрд╛ рдХреЛ рдХреНрдпреЛрдВ рдЪреБрдирд╛ рдЧрдпрд╛, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдореЗрд░реЗ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред
Yii рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рджреМрд░рд╛рди, рд╣рдорд╛рд░реА рдЯреАрдо рдиреЗ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдмрдврд╝ рд░рд╣реА рдереА, рдФрд░ рдХрд╛рдо рдХреЗ рдЖрдпреЛрдЬрди рдХреА рдЖрдВрддрд░рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЕрднреА рднреА рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдкрд╣рд▓реБрдУрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рд╕реНрддрд░ рдкрд░ рдирд╣реАрдВ рдереАрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж, рд╡рд░реНрддрдорд╛рди рдкреНрд░рдгрд╛рд▓реА рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд▓рдЧрднрдЧ рдПрдХ рддрд┐рд╣рд╛рдИ рднрд╛рдЧ Yii рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред рд╣рдордиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдХреЛ рдмрдврд╝рд╛рдпрд╛ред рдлреНрд░реЗрдорд╡рд░реНрдХ рдиреЗ рдХрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА, рдЬрд┐рд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкрд╣рд▓реЗ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рдХреНрд╖рдг рдРрд╕рд╛ рдерд╛ рдЬреЛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд▓рдЧрд╛ред рд╕рднреА рд╕рдорд╛рди, рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдЬрдм рддрдХ рдХрд┐ рд╕рдм рдХреБрдЫ рд░рд┐рдЯрд░реНрди рдЬрд╝реЛрди рдореЗрдВ рдирд╣реАрдВ рдЧрдпрд╛ред рдПрдХ рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрдЬрд╛рдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рдирд┐рд░реНрдгрд╛рдпрдХ рдХрд╛рд░рдХ рдЕрднрд┐рдпрд╛рди рдореЗрдВ рдПрдХ рдЪреМрд░рд╛рд╣реЗ рд╡рд╛рд╕реНрддреБрдХрд╛рд░ рдХреА рднреВрдорд┐рдХрд╛ рдХрд╛ рдЖрд╡рдВрдЯрди рдерд╛, рдЬреЛ рд╕рднреА рдЖрдВрддрд░рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рд╕реНрдерд╛рдкрддреНрдп рдкрд╣рд▓реБрдУрдВ рдХреЛ рдХреНрд░рдо рдореЗрдВ рд░рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдерд╛ред рдЗрд╕ рднреВрдорд┐рдХрд╛ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╡рд╛рд╕реНрддреБрдХрд╛рд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╕реЛрдЖ-рдкреНрд░рддрд┐рдорд╛рди рд╢реБрд░реВ рдореЗрдВ рдЙрдирдХреЗ рд╕рдореВрд╣ рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдкрд┐рдЫрд▓реЗ 3-5 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдЗрд╕ рдЕрднреНрдпрд╛рд╕ рдиреЗ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рднреА рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рд╣реИред
рдереЛрдбрд╝рд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
- рдУрдПрд╕ рдбреЗрдмрд┐рдпрди 6
- nginx рд╡реЗрдм рд╕рд░реНрд╡рд░
- php 5.3
- рдврд╛рдВрдЪрд╛ yii
- рдлрд╝рд┐рдВрдЧ рдмрд┐рд▓реНрдб рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рдгрд╛рд▓реА
- рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдбреЗрдм рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд╣реЗрд╕рд┐рдпрди рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛рдПрдВ рдПрдХреАрдХрд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓
рдкреНрд░рддрд┐рдмрдВрдз
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдПрдХ рд╡рд┐рдХрд╛рд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреА рд╕рдВрдпреБрдХреНрдд рдкрд░рддреЛрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдЖрд╡реЗрджрди, рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХрд╛рд░реНрдб, рдЖрджрд┐ред рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп, рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдЖрд╡реЗрджрди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕реЗ рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдПрд╕рд╡реАрдПрди рдореЗрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВред рдПрдХ рд╕рдордп рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ 2Gis рдХреЗ рд▓реЛрдЧреЛрдВ рдиреЗ рдЕрдкрдиреЗ рд▓реЗрдЦ рдореЗрдВ рд╕реБрдЭрд╛рдпрд╛ рдерд╛ред рдЖрдк рдЖрд╡реЗрджрди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рднреА рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд┐рдирд┐рдпрд╛рдиреНрдЯрд┐рдЬрд╝рд┐рд▓рд░ ред 2amigos рд╕реЗ рд╕рдорд╛рдзрд╛рди рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдЗрд╕реЗ рд╕рдм рдХреБрдЫ рд▓реЗрдиреЗ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЕрдкрдиреА рдмрд╛рдЗрдХ рдХреЛ рдореМрдЬреВрджрд╛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ Yii рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрднрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдирд╛ рдерд╛
SOA рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛
рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдЖрд░реЗрдЦ рдкрд░ 2 рдЖрдВрддрд░рд┐рдХ рдкрд░рддреЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдХреЛрд░ рдФрд░ рдкреЛрд░реНрдЯрд▓
рдХреЛрд░ - рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХреЛрдВ рдХреА рдПрдХ рдкрд░рдд, рдкреНрд▓рд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП yii, рдмреЗрд╣рдЯ, рд░реИрдЪрд░, рд╕рд╛рде рд╣реА рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред
рдкреЛрд░реНрдЯрд▓ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрд░реЗрдЦ рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣рд░реА рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдкрд░рдд рджрд┐рдЦрд╛рддрд╛ рд╣реИ
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЕрдзрд┐рдХ
рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЪрд╛рд╣реЗ рд╡рд╣ рдПрдХ рд╕реЗрд╡рд╛ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реЛ, рдХреЗ рджреЛ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╣реИрдВ: рд╡реЗрдм рдФрд░ рдХрдВрд╕реЛрд▓ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдмрд╛рдХреА рдПрдкреА рд╣реИред
рд╡рд┐рдиреНрдпрд╛рд╕ рднрдВрдбрд╛рд░рдг yiinitializr рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рдорд╛рд░реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдирд┐рдореНрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИ:
- service.web.php - рд╡реЗрдм рдкрд╛рд░реНрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
- service.console.php - рдХрдВрд╕реЛрд▓ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
- service.test.php - рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд┐рдЧ
- service.base.php - рдкрд┐рдЫрд▓реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдиреНрдпрд╛рд╕ред рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдЕрдВрджрд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
- env / local.php - рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдЬрд┐рд╕рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг (рджреЗрд╡, рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдЙрддреНрдкрд╛рджрди) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд╡рд░реНрдЧреЛрдВ / рдорд╛рд░реНрдЧреЛрдВред рдПрдлрдкреА - рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдо
рд╕рд╛рдорд╛рдиреНрдп рдкреИрдХреЗрдЬ рдореЗрдВ ApplicationDispatcher рдШрдЯрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рддреИрдпрд╛рд░реА, рдЖрдВрддрд░рд┐рдХ рдЙрдкрдирд╛рдореЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛, рдорд╛рд░реНрдЧреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрде рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рд▓реЙрдЧ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдПред
рдШрдЯрдХ index.php рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрд░реЛрдд рдкреИрдХреЗрдЬ index.php
// if(!file_exists('/usr/share/ntk-rm-common/protected/components/ApplicationDispatcher.php')) { throw new Exception(' ntk-rm-common'); } require_once('/usr/share/ntk-rm-common/protected/components/ApplicationDispatcher.php'); // $dispatcher = ApplicationDispatcher::getInstance(); // : $dispatcher->setEnvironment(ApplicationDispatcher::ENV_PRODUCTION); // $dispatcher->setApplicationType(ApplicationDispatcher::APP_TYPE_WEB); // $dispatcher->create('crm')->run();
рд╡рд┐рдзрд┐ рд╕реНрд░реЛрдд рдХреЛрдб рдмрдирд╛рдПрдБ
/** * * @param $service - * @return mixed * @throws Exception */ public function create($service) { $this->service = $service; if(empty($this->app_type)) { throw new Exception(' : web console'); } // require_once $this->getBasePath('common') . '/helpers/global.php'; $config = $this->prepareConfig(); // $config['runtimePath'] = $this->getRuntimePath($service); // - protected $config['basePath'] = $this->getBasePath($service); $this->setAliases(); if ($this->app_type == self::APP_TYPE_WEB) { $this->app = Yii::createWebApplication($config); // $this->setRoutes(); // assets $basePath = $this->getHtdocsPath($this->service) . '/assets/'; $this->app->getAssetManager()->setBasePath($basePath); } else { defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); $this->app = Yii::createConsoleApplication($config); } return $this->app; }
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рддрд░реНрдХ Yii-Boilerplate рдпрд╛ Yiinitializr рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реЗ рдмрд╣реБрдд рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реИ
/** * . * @return array|mixed * @throws Exception - */ private function prepareConfig() { if (!$this->isExistsServiceConfig()) { throw new Exception(' ┬л' . $this->getServiceConfigName() . '┬╗ . .'); } // $service_configs = array( '/' . $this->service . '.' . $this->app_type . '.php', '/env/local.php' ); $config = $this->mergeConfigs(array(), $service_configs , $this->getConfigPath(($this->service))); // $common_configs = array( '/env/local.php', '/common.base.php', $this->app_type == self::APP_TYPE_WEB ? '/common.web.php' : '/common.console.php', ); $config = $this->mergeConfigs($config, $common_configs, $this->getConfigPath('common')); // backend $backend_configs = array( '/php-backend.base.php', '/env/local.php', ); $config = $this->mergeConfigs($config, $backend_configs, $this->getConfigPath('php-backend')); return $config; }
рдкреИрдХреЗрдЬ рд╕рдВрд░рдЪрдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдбреЗрдмрд┐рдЯ рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддреА рд╣реИред рдкреВрд░реНрдг рдбреЗрдмрд┐рдпрди-рд╡реЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП, рдПрдХ рдбрд┐рдмреЗрдЯ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдмрд┐рдЦрд░рд╛ рд╣реБрдЖ рд╣реИ:
- / usr / рд╢реЗрдпрд░ / <service_name> / рд╕рдВрд░рдХреНрд╖рд┐рдд / - рд╕реЗрд╡рд╛ рд╕реНрд░реЛрдд
- / usr / share / doc / <service_name> / - рдЙрджрд╛рд╣рд░рдг config local.default.php
- / usr / bin / <service_name> - рд░реЛрдмреЛрдЯ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓
- рд╡реЗрдм рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП / var / www / <service_name> / htdocs / - рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
- / var / tmp / <service_name> / - рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
- / var / log / <service_name> / рд╕реЗрд╡рд╛ рд▓реЙрдЧ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
Phing рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рдкреИрдХреЗрдЬ рдмрдирд╛рдПрдБ
рдлрд╝рд┐рдВрдЧ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреИрдХреЗрдЬ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЬреЛ:
- рдЯреНрд░рдВрдХ рд╢рд╛рдЦрд╛ рд╕реЗ svn рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ
- рдЙрдкрд░реЛрдХреНрдд рд╡рд░реНрдгрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ
- рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ
- svn рдореЗрдВ рдПрдХ рд▓реЗрдмрд▓ рдмрдирд╛рддрд╛ рд╣реИ
- рдПрдХ рдкреИрдХреЗрдЬ рдХреЛ рдбреЗрдмрд┐рдпрди рдкреИрдХреЗрдЬ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ
рдкреИрдХреЗрдЬ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рд╕реЗ рдирдореВрдирд╛ рдХреЛрдб
<!-- ============================================ --> <!-- Target: prepare --> <!-- ============================================ --> <target name="prepare" depends="clean"> <echo msg=" " /> <mkdir dir="${project.packageDir}" /> <copy todir="${project.packageDir}"> <fileset dir="${project.basedir}/debian"> <include name="**/*" /> <exclude name=".svn" /> <exclude name="cron.d/" /> <exclude name="cron.d/*" /> </fileset> </copy> <exec command="svn info | grep 'URL: '" outputProperty="project.tmp.svnInfo" /> <php expression="end(explode(': ', '${project.tmp.svnInfo}'));" returnProperty="project.tmp.svnUrl" /> <echo msg=" SVN" /> <exec command="rm -Rf ${project.packageDir}/var/www/ntk-rm-crm/*" /> <exec command="svn export --force ${project.tmp.svnUrl} ${project.packageDir}/export/"/> <echo msg=" - /var/www/ntk-rm-crm/htdocs/" /> <mkdir dir="${project.packageDir}/var/www/ntk-rm-crm/" /> <copy todir="${project.packageDir}/var/www/ntk-rm-crm/htdocs/" > <fileset defaultexcludes="false" expandsymboliclinks="true" dir="${project.packageDir}/export/htdocs/"> <include name="**/*" /> </fileset> </copy> <mkdir dir="${project.packageDir}/var/www/ntk-rm-crm/htdocs/assets/" /> <copy file="${project.packageDir}/var/www/ntk-rm-crm/htdocs/index-prod.php" tofile="${project.packageDir}/var/www/ntk-rm-crm/htdocs/index.php" overwrite="true" /> <delete file="${project.packageDir}/var/www/ntk-rm-crm/htdocs/index-prod.php" /> <echo msg=" /usr/share/ntk-rm-crm/protected/" /> <mkdir dir="${project.packageDir}/usr/share/ntk-rm-crm/protected/" /> <copy todir="${project.packageDir}/usr/share/ntk-rm-crm/protected/" > <fileset defaultexcludes="false" expandsymboliclinks="true" dir="${project.packageDir}/export/protected/"> <include name="**/*" /> <exclude name="configs/*" /> <exclude name="**/yiic*" /> </fileset> </copy> <delete dir="${project.packageDir}/usr/share/ntk-rm-crm/protected/configs/" includeemptydirs="true" /> <echo msg=" yiic.php " /> <copy file="${project.packageDir}/export/protected/yiic-prod.php" tofile="${project.packageDir}/usr/share/ntk-rm-crm/protected/yiic.php" overwrite="true" /> <copy file="${project.packageDir}/export/protected/yiic-prod" tofile="${project.packageDir}/usr/bin/ntk-rm-crm" overwrite="true" /> <echo msg=" /etc/ntk-rm-crm/" /> <mkdir dir="${project.packageDir}/etc/ntk-rm-crm/" /> <copy todir="${project.packageDir}/etc/ntk-rm-crm/" > <fileset defaultexcludes="false" expandsymboliclinks="true" dir="${project.packageDir}/export/protected/configs/"> <include name="**/*" /> <exclude name="**/crm.test.php" /> <exclude name="**/local.default.php" /> </fileset> </copy> <echo msg=" /usr/share/doc/ntk-rm-crm/" /> <mkdir dir="${project.packageDir}/usr/share/doc/ntk-rm-crm/" /> <copy file="${project.packageDir}/export/protected/configs/env/local.default.php" tofile="${project.packageDir}/usr/share/doc/ntk-rm-crm/local.default.php" overwrite="true" /> <echo msg=" cron- /etc/cron.d/ntk-rm-crm" /> <copy file="${project.basedir}/debian/cron.d/ntk-rm-crm" tofile="${project.packageDir}/etc/cron.d/ntk-rm-crm" overwrite="true" /> <echo msg=" /var/log/ntk-rm-crm/" /> <mkdir dir="${project.packageDir}/var/log/ntk-rm-crm/" /> <echo msg=" /var/tmp/ntk-rm-crm/" /> <mkdir dir="${project.packageDir}/var/tmp/ntk-rm-crm/" /> <echo msg=" export" /> <delete dir="${project.packageDir}/export/" includeemptydirs="true" /> </target>
рдирд┐рд╖реНрдХрд░реНрд╖
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рджреЛрдиреЛрдВ рд╣реИрдВред рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдореБрдЦреНрдп рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ, рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдбреЗрдмрд┐рдпрди-рд╡реЗ рд╕рдорд░реНрдерди рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╕рдорд░реНрдерди рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдПрдХ рд╕рд╛рде рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред
рд▓реЗрдЦ рдХреЗрд╡рд▓ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╣реИред рдПрдХ рд▓реЗрдЦ рдореЗрдВ рд╕рднреА рдкрд╣рд▓реБрдУрдВ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рд╡реЗ рд╕рд╛рдордиреЗ рдЖрддреЗ рд╣реИрдВ рддреЛ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣рд╛рдБ SOA рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ: