рд╣рдо PHP рдлреНрд░реЗрдорд╡рд░реНрдХ Yii 2 рдХреЗ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдмрд╣реБрдд рдЦреБрд╢ рд╣реИрдВред рдЖрдк
рдЗрд╕реЗ yiiframework.com рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред
рдмреАрдЯрд╛ рдореЗрдВ
рдЕрд▓реНрдлрд╛ рд░рд┐рд▓реАрдЬ рд╕реЗ рд╕реИрдХрдбрд╝реЛрдВ рдирд╡рд╛рдЪрд╛рд░, рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рд╕реБрдзрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рд╣рдо рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдВред
рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди
- рдмреАрдЯрд╛ рдХрд╛ рдорддрд▓рдм рдХреНрдпрд╛ рд╣реИ? рдмреАрдЯрд╛ рдХрд╛ рдЕрд░реНрде рд╣реИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдПрдХ рд╕реНрдерд┐рд░ рд╕реЗрдЯред рдмреАрдЯрд╛ рд╕реЗ рдЬреАрдП (рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрд▓рдмреНрдзрддрд╛, рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ) рддрдХ, рд╣рдо рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдмрдЧ рдлрд┐рдХреНрд╕ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред рд╣рдо рдврд╛рдВрдЪреЗ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдмрджрд▓рдиреЗ рдпрд╛ рдХреЛрдИ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝рдиреЗ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЗ рдЯреВрдЯрдиреЗ рдЕрднреА рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдиреНрд╣реЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдЫреЛрдЯреЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХрд┐рдП рдЧрдП рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗред
- рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рдХрдм рд╣реЛрдЧреА? рдЕрдм рддрдХ, рд╣рдо рдПрдХ рд╕рдЯреАрдХ рддрд╛рд░реАрдЦ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗред рдЪреВрдВрдХрд┐ рдЕрдЧрд▓рд╛ рдЪрд░рдг рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдиреЗ рдореЗрдВ рд╣реИ, рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдирд╣реАрдВ рд▓рдЧрд╛ рд╣реИред
- рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдмреАрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдЖрдкрдХреЛ рдЯрд╛рдЗрдЯ рдбреЗрдбрд▓рд╛рдЗрди рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдмреАрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдпрджрд┐ рдЖрдк Yii 2.0 рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк рдврд╛рдВрдЪреЗ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╕реЗ рдбрд░рддреЗ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдордиреЗ рд╕реБрдирд╛ рд╣реИ рдХрд┐ рдХрд╛рдлреА рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдкрд╣рд▓реЗ рд╣реА рд▓реЙрдиреНрдЪ рд╣реЛ рдЪреБрдХреА рд╣реИрдВ рдФрд░ рд╡реЗ `рдорд╛рд╕реНрдЯрд░` рд╢рд╛рдЦрд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рднреА рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдкреАрдПрдЪрдкреА рд╕рдВрд╕реНрдХрд░рдг 5.4 рд╣реИред
- рдХреНрдпрд╛ рдХреЛрдИ 2.0 рдкреНрд░рд▓реЗрдЦрди рд╣реИ? рд╣рд╛рдБ, рд╡рд╣рд╛рдБ рдирд┐рд╢реНрдЪрд┐рдд рдЧрд╛рдЗрдб рдФрд░ рдПрдкреАрдЖрдИ рдкреНрд░рд▓реЗрдЦрди рд╣реИ ред рдЧрд╛рдЗрдб рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдореВрд▓ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рдкреВрд░рд╛ рд╣реЛрдЧрд╛ рд░реВрд╕реА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рд╣реЛрдЧрд╛ред
- рдореИрдВ 1.1 рд╕реЗ 2.0 рддрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреИрд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЕрд▓рдЧ рдЦрдВрдб рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
Yii 1.1 рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ 2.0 рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдПрдХ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рднреА, рдпрджрд┐ рдЖрдкрдиреЗ 1.1 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ 1.1 рдФрд░ 2.0 рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдорд╛рдирддрд╛рдПрдВ рд╣реИрдВред - рдЕрд▓реНрдлрд╛ 2.0 рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХреИрд╕реЗ рдХрд░реЗрдВ? рдпрджрд┐ рдЖрдк рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЛ рдЕрд▓реНрдлрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ
vendor
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ .gitignore
рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдмрдХреБрдЫ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд┐рд░ рд╕реЗ рд╕рдВрдЧреАрддрдХрд╛рд░ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╣рд░ рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдкреВрд░реА рд╕реВрдЪреА, рдЬрд┐рд╕рдореЗрдВ рдмреИрдХрд╡рд░реНрдб рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, CHANGELOG рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред - рд╡рд┐рдХрд╛рд╕ 2.0 рдХрд╛ рдкрд╛рд▓рди рдХреИрд╕реЗ рдХрд░реЗрдВ? рд╕рднреА рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЪрд░реНрдЪрд╛ GitHub рдкрд░ рд╣реЛрддреА рд╣реИ:
https://github.com/yiisoft/yii2 рдЖрдк рдЕрдкрдбреЗрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдбреЗрдЯ рд╕реВрдЪрдирд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд░рд╛рдВрдХрди рдЪрд┐рд╣реНрди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рд╣рдорд╛рд░реЗ рдЯреНрд╡рд┐рдЯрд░ https://twitter.com/yiiframework рдХреЛ рднреА рдлреЙрд▓реЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрд▓реНрдлрд╛ рдХреЗ рд╕рд╛рде рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡
рдЖрдк
CHANGELOG рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдиреАрдЪреЗ рд╣рдо рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗред
рд╕рдВрд░рдЪрдирд╛
Yii 2 рдиреЗ
PSR-4 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд┐рдпрд╛
рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╡рд╣ рд╣реИ:
- рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рд╕рд░рд▓ рд╣реЛ рдЧрдИ рд╣реИред
- рд╡рд┐рд╕реНрддрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рд╕рд░рд▓ рд╣реЛ рдЧрдИ рд╣реИред
- рд░реВрдкрд░реЗрдЦрд╛ рдЕрдм PEAR рд╢реИрд▓реА рдореЗрдВ рдирд╛рдорд┐рдд рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд┐рдВрдЧ рдиреЗ рдЗрд╕реЗ рдЖрд╕рд╛рди рдФрд░ рддреЗрдЬрд╝ рдмрдирд╛ рджрд┐рдпрд╛ред
рдирд┐рдпрдВрддреНрд░рдХ рдХрдХреНрд╖рд╛рдПрдВ рдЕрдм
Module::controllerNamespace
рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
Module::controllerNamespace
, рдЬрдм рддрдХ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ
Module::controllerMap
рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
Module::controllerMap
ред
рд╣рдордиреЗ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рдореВрд╣рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рднреА рд▓реМрдЯрд╛рдпрд╛, рдЬреЛ 1.1 рдореЗрдВ рдерд╛ред
рдЙрдкрдпреЛрдЧ рдХреА рд╕рд░рд▓рддрд╛
рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣рдорд╛рд░реА рдЯреАрдо рдХреА рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдирд╛рдордХрд░рдг рдкрд░ рдмрд╣реБрдд рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреЛрдб рд╡рд┐рднрд┐рдиреНрди рдЖрдИрдбреАрдИ рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдЖрдкрдХреЛ рд░реЛрдЬрд╝рдорд░реНрд░рд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╣рдордиреЗ PSR-1 рдФрд░ PSR-2 рдХреЛрдб рд╢реИрд▓рд┐рдпреЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рдХрдИ IDEs,
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреЛрдб рдЬрд╛рдБрдЪ рдФрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрд╡рд░реВрдкрдг ред
рдЙрддреНрдкрд╛рджрдХрддрд╛
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рд╕рддреНрд░ рддрдм рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред рдпрд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ HTML рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЧрддрд┐ рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред рдХрд╛рд░реНрд╕реНрдЯрди рдмреНрд░рд╛рдВрдЯ (рд╕реАрдмреА) рджреНрд╡рд╛рд░рд╛ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдмреЗрд╣рддрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧрд┐рдЯрд╣рдм рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рд░реНрдХрдбрд╛рдЙрди рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рд╕реБрд░рдХреНрд╖рд╛
Yii рдЕрдм
BREACH рд╣рдорд▓реЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП * рдирдХрд╛рдмрдкреЛрд╢ * CSRF рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
RBAC рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдирд┐рдпрдо рдЕрдм рдмрд┐рдирд╛ рдХрд┐рд╕реА
eval
рдХреЗ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рд░реЗрд╕реНрдЯрдлреБрд▓ рдПрдкреАрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ
рдмреАрдЯрд╛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдПрдХ REST API рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдврд╛рдВрдЪрд╛ рд╣реИред рдЗрд╕ рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ, рд╣рдо рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВрдЧреЗред рдкреВрд░рд╛ рд╡рд┐рд╡рд░рдг
рдирд┐рд╢реНрдЪрд┐рдд рдЧрд╛рдЗрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
- ActiveRecord рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рддреЗрдЬреА рд╕реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк;
- рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рд░реВрдк рдмрд╛рддрдЪреАрдд (JSON рдФрд░ XML рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ);
- рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХреНрд░рдордмрджреНрдзрддрд╛ред рдЖрдк рд╕реАрд░рд┐рдпрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдлрд╝реАрд▓реНрдб рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЙрдЪрд┐рдд рдкреНрд░рд╛рд░реВрдкрдг;
- рдкреВрд░реНрдг HTTP рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкреНрд░рднрд╛рд╡реА рд░реВрдЯрд┐рдВрдЧ;
OPTIONS
рдФрд░ HEAD
рд▓рд┐рдП рд╕рдорд░реНрдерди;- рдкреНрд░рдорд╛рдгреАрдХрд░рдг;
- рдкреНрд░рд╛рдзрд┐рдХрд░рдг;
- HATEOAS рд╕рдорд░реНрдерди;
- HTTP рдХреИрд╢рд┐рдВрдЧ
- рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВред
рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдФрд░ рд╕реЗрд╡рд╛ рд▓реЛрдХреЗрдЯрд░
рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рдкреВрдЫрд╛ рд╣реИ рдХрд┐ Yii рдореЗрдВ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди (DI) рдХрдВрдЯреЗрдирд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, Yii рдиреЗ рд╣рдореЗрд╢рд╛ рд╕рд░реНрд╡рд┐рд╕ рд▓реЛрдХреЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХреА, рдЬреЛ Yii рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЕрдм рд╣рдордиреЗ рд╕рд░реНрд╡рд┐рд╕ рд▓реЛрдХреЗрдЯрд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдШрдЯрдХ
yii\di\ServiceLocator
рд░реВрдк рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдореЙрдбреНрдпреВрд▓ рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд┐рд╕ рд▓реЛрдХреЗрдЯрд░ рд╣реИрдВред рдЖрдк
Yii::$app->get('something')
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрд╡рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (1.1 рдореЗрдВ рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдВрдкреЛрдиреЗрдВрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛
Yii::$app->get('something')
ред
рд╕реЗрд╡рд╛ рд▓реЛрдХреЗрдЯрд░ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╣рдордиреЗ
yii\di\Container
рдХрдВрдЯреЗрдирд░
yii\di\Container
рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдпрд╣ рдХрдо рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдорд╛рд░рд╛ рдХрдВрдЯреЗрдирд░ PHP рдореЗрдВ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ DI рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЖрдк рд╡рд░реНрдЧреЛрдВ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
Yii::$container->set()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреБрд░рд╛рдиреА
Yii::$objectConfig
рд╣рдЯрд╛
Yii::$objectConfig
рд╣реИред
рдкрд░реАрдХреНрд╖рдг
Yii рдХреЛ
рдХреЛрдбрдкреНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдХреЗ рдФрд░ рдЙрддреНрдкрдиреНрди рдЙрддреНрддрд░реЛрдВ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдХреЗ рдЖрд╡реЗрджрди рдХреЛ рд╕рдВрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкрд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред PHPUnit рдореЗрдВ рд╕реЗрд▓реЗрдирд┐рдпрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХреЛрдбреЗрд╢рди рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, CI рд╕рд░реНрд╡рд░ рдкрд░ рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
Yii рдиреЗ
рдЬреБрдбрд╝рд╛рд╡ рд╕рдорд░реНрдерди рднреА рдЬреЛрдбрд╝рд╛, рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ - рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╕рдордп рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рдФрд░ рд╕рдмрд╕реЗ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХред рдЬреБрдбрд╝рдирд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЖрд╡реЗрджрди рджреЛрдиреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред
рдлрд╝реЗрдХрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рд╕реЗрдЯреЛрдВ рдХреЗ рдХрд░реАрдм рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рджреЛрдиреЛрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ, рджреЛрдиреЛрдВ "рдмреБрдирд┐рдпрд╛рджреА" рдФрд░ "рдЙрдиреНрдирдд", рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рджрд┐рдП рдЧрдП рд╣реИрдВ: рдореЙрдбреНрдпреВрд▓рд░, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдФрд░ рд╕реНрд╡реАрдХреГрддрд┐ред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рд╣реЛрдЧрд╛ред
рдореЙрдбрд▓ рдорд╛рдиреНрдпрддрд╛
рдореЙрдбрд▓ рд╕рддреНрдпрд╛рдкрди рдореЗрдВ, рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд╕реБрдзрд╛рд░ рд╣реБрдП рд╣реИрдВред
ExistValidator
рдФрд░
ExistValidator
рдЕрдм рдорд▓реНрдЯреА-рдХреЙрд▓рдо рд╕рддреНрдпрд╛рдкрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ:
рд╕рддреНрдпрд╛рдкрди рдЙрди рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ
when
рдФрд░
whenClient
рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП
whenClient
ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдирд┐рд╡рд╛рд░реНрдп рд░рд╛рдЬреНрдп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдпрджрд┐ рдЪрдпрдирд┐рдд рджреЗрд╢ рдпреВрдПрд╕рдП рд╣реИ:
['state', 'required', 'when' => function ($model) { return $model->country == Country::USA; }, 'whenClient' => "function (attribute, value) { return $('#country').value == 'USA'; }", ]
рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдПрдХ рдореЙрдбрд▓ рд╕реЗ рдмрдВрдзрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдирдП
yii\base\DynamicModel
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
public function actionSearch($name, $email) { $model = DynamicModel::validateData(compact('name', 'email'), [ [['name', 'email'], 'string', 'max' => 128], ['email', 'email'], ]); if ($model->hasErrors()) {
рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝реА рд╣рд░ рдЪреАрдЬ Yii рдХрд╛ рдордЬрдмреВрдд рдмрд┐рдВрджреБ рд╣реИред рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдлреАрдЪрд░ рд╕реЗрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рдерд╛, рдФрд░ рдмреАрдЯрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЖрдИрдВред рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ
рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ ,
рд░реЗрдбрд┐рд╕ рдФрд░
рд╕реНрдлрд┐рдВрдХреНрд╕ рдЦреЛрдЬ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ ред рдФрд░ рдмреАрдЯрд╛ рдореЗрдВ,
рдореЛрдВрдЧреЛрдбрдм рд╕рдорд░реНрдерди
рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ ред
рдиреЗрд╕реНрдЯреЗрдб рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рди рд╕рдкреЛрд░реНрдЯ
Yii рдЕрдм рдиреЗрд╕реНрдЯреЗрдб рд▓реЗрдирджреЗрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд▓реЗрдирджреЗрди рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдмрд╛рд╣рд░реА рд▓реЗрдирджреЗрди рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ
рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдШреЛрд╖рд┐рдд рдПрдЖрд░ рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЙрдЗрди рдХреЗ рд╕рд╛рде рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
ActiveQuery::joinWith()
рдХреЛ рдЬреЛрдбрд╝рд╛ред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИ рдпрджрд┐ рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдлрд╝реАрд▓реНрдбреНрд╕ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдпрд╛ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдпрд╣ GridView рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИред рдЕрдм,
joinWith()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЙрди рдкрд░
joinWith()
рдпрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд░реВрдкрд╛рдВрддрд░рдг
ActiveRecord рдЕрдм рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ
type
integer
рдХрд╛ рдПрдХ рд╕реНрддрдВрдн рд╣реИ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд ActiveRecord рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж,
type
PHP рдореЗрдВ рдЯрд╛рдЗрдк
integer
рдХрд╛ рд╣реЛрдЧрд╛ред
рдЦреЛрдЬ
рдЦреЛрдЬ рдХрд╛рд░реНрдп рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ
Query::filterWhere()
рдкрджреНрдзрддрд┐ рдХреЛ рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦрд╛рд▓реА рдорд╛рди рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕
name
рдФрд░
email
рдлрд╝реАрд▓реНрдб рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЦреЛрдЬ рдлрд╝реЙрд░реНрдо рд╣реИ, рддреЛ рдЖрдк рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдмрд┐рдирд╛, рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреБрдЫ рджрд░реНрдЬ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдЦреЛрдЬ рд╢рдмреНрдж рдЬреЛрдбрд╝реЗрдВред
filterWhere()
рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред
$query = User::find()->filterWhere([ 'name' => Yii::$app->request->get('name'), 'email' => Yii::$app->request->get('email'), ]);
рдмреИрдЪ рдЕрдиреБрд░реЛрдз
рд╣рдордиреЗ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдЪ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдмреИрдЪреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рддреБрд░рдВрдд рдирд╣реАрдВред рдЗрд╕рд╕реЗ рдореЗрдореЛрд░реА рдХреЛ рдХрд╛рдлреА рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
use yii\db\Query; $query = (new Query()) ->from('user') ->orderBy('id'); foreach ($query->batch() as $users) {
рдЖрдк ActiveRecord рдХреЗ рд╕рд╛рде рдмреИрдЪ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЙрдкрд╢рдо рд╕рд╣рд╛рдпрддрд╛
рдиреЗрд╕реНрдЯреЗрдб рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреНрд╡реЗрд░реА рдмрд┐рд▓реНрдбрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдПрдХ
Query
рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд
Query
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп
Query
рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$subQuery = (new Query())->select('id')->from('user')->where('status=1'); $query->select('*')->from(['u' => $subQuery]);
рдлреАрдбрдмреИрдХ
рд▓рд┐рдВрдХ рдЕрдХреНрд╕рд░ рдЬреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
Customer
рдореЗрдВ
Order
рд╕рдВрдмрдВрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ;
Order
customer
рд╕рдВрдмрдВрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдСрд░реНрдбрд░ рдХрд╛
customer
рдореВрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ, рдХреЗ рд▓рд┐рдП
рдЬреЛ рдЖрджреЗрд╢ рдорд╛рдВрдЧреЗ рдЧрдП рд╣реИрдВред
customer->orders
рдмреБрд▓рд╛рдирд╛-
customer->orders
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдирдИ SQL рдХреНрд╡реЗрд░реА рдорд┐рд▓реЗрдЧреА, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдХрд┐
customer
рдЖрджреЗрд╢:
рдЕрдирд╛рд╡рд╢реНрдпрдХ SQL рдХреНрд╡реЗрд░реА рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
customer
рдФрд░
orders
рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣
inverseOf()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
class Customer extends ActiveRecord {
рдЕрдм, рдпрджрд┐ рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддреЗ рд╣реИрдВ:
рд░рд┐рд▓реЗрд╢рдирд▓ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдлрд╝реЙрд░реНрдо рдПрдкреАрдЖрдИ
ActiveRecord рдореЗрдВ рдЕрд▓реНрдлрд╛ 2.0 рдореЗрдВ, рд╣рдордиреЗ рджреЛрдиреЛрдВ рд░рд┐рд▓реЗрд╢рдирд▓ (рдЬреИрд╕реЗ MySQL) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП
рдФрд░ noSQL (рдЬреИрд╕реЗ рд░реЗрдбрд┐рд╕, рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ, рдореЛрдВрдЧреЛрдбреАрдмреА) рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ред рдмреАрдЯрд╛ рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рдЕрдзрд┐рдХ рдПрдХрд░реВрдкрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХреАред рдЕрд░реНрдерд╛рддреН,
ActiveRelation
рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░
ActiveQuery
рд░рд┐рд╢реНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рд░рд┐рд╢реНрддреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рдмрди рдЧрдпрд╛ред рд╣рдордиреЗ
ActiveRecord::findOne()
рдФрд░
findAll()
рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рднреА рдЬреЛрдбрд╝рд╛ред
рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЖрдкрдХреЛ рд▓рдШреБ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдВрдЬреА рдпрд╛ рд╕реНрддрдВрдн рдорд╛рди рдкрд░ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдкрд╣рд▓реЗ, рдпрд╣
ActiveRecord::find()
рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХреЗ рдХрд╛рд░рдг рднреНрд░рдо рдкреИрджрд╛ рдХрд░рддрд╛ рдерд╛ред
AJAX рдХрд╛ рд╕рдорд░реНрдерди
рд╣рдордиреЗ рдЙрддреНрдХреГрд╖реНрдЯ
Pjax рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░
yii yii\widgets\Pjax
ред рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЬреЗрдЯ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ AJAX рдХреЛ рд╣рд░ рдЙрд╕ рдЪреАрдЬрд╝ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдореЗрдВ рд▓рд┐рдкрдЯреА рд╣реБрдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕рдореЗрдВ рдПрдХ
GridView
рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВ
рдкреГрд╖реНрда-рджрд░-рдкреГрд╖реНрда рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкреГрд╖реНрда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
use yii\widgets\Pjax; use yii\grid\GridView; Pjax::begin(); echo GridView::widget([ ]); Pjax::end();
рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
рдХрдИ рдЖрдВрддрд░рд┐рдХ рд╕реБрдзрд╛рд░реЛрдВ рдФрд░ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдШрдЯрдХреЛрдВ рдореЗрдВ рдХрдИ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП рд╣реИрдВред рд╕рдмрд╕реЗ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдПрдХ рдФрд░ рдореВрд▓рднреВрдд рдкрд░рд┐рд╡рд░реНрддрди рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдм рдЖрд╡реЗрджрди рдХреЗ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╣реЗрдбрд░ рдФрд░ рд╢рд░реАрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬреИрд╕реЗ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╣рд╛рдВ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЕрдиреБрд░реЛрдз рд╡рд░реНрдЧ рдЕрдм JSON рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред
рдлрд┐рд▓реНрдЯрд░
рдкреВрд░реЗ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рддрдВрддреНрд░ рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рдЖрдк рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрддрд░ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдпрд╛ рдореЙрдбреНрдпреВрд▓ рд╕реНрддрд░реЛрдВ рджреЛрдиреЛрдВ рдкрд░ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдЖрдк рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЙрд╕рдХреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдкрд░ рдПрдХ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗрд╡рд▓ рдЗрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛ред
рдХреЛрдб рдХреЛ рдкреБрдирд░реНрдЧрдард┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдЕрдм
yii\filters
рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк HTTP рдмреЗрд╕рд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
yii\filters\HttpBasicAtuh
рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рдпрд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ:
public function behaviors() { return [ 'basicAuth' => [ 'class' => \yii\filters\auth\HttpBasicAuth::className(), 'exclude'=> ['error'],
рдШрдЯрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ
рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЖрд░рдВрднреАрдХрд░рдг рдЪрд░рдг ("рдмреВрдЯрд╕реНрдЯреНрд░реИрдк") рдкреЗрд╢ рдХрд┐рдпрд╛ред рдПрдХреНрд╕рдЯреЗрдВрд╕рд░реНрд╕ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХреНрд▓рд╛рд╕реЗрд╕ рдХреЛ рдХрдВрдкреЛрдЬрд╝рд░.рдЬреЙрди рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдирд┐рдпрдорд┐рдд рдШрдЯрдХ рдХреЛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐
Application::$bootstrap
рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
Application::$bootstrap
ред
рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдШрдЯрдХ рдХреЛ рддрддреНрдХрд╛рд▓ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдШрдЯрдХ рдХреЛ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрддрд╛ рд╣реИред
URL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдЪреВрдВрдХрд┐ рдбреЗрд╡рд▓рдкрд░ URL рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдпреВрдЖрд░рдПрд▓-рд╕рдВрдмрдВрдзреА рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ
Url
рд╕рд╣рд╛рдпрдХ рдореЗрдВ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛:
use yii\helpers\Url;
URL рдирд┐рдпрдореЛрдВ рдореЗрдВ рднреА рд╕реБрдзрд╛рд░ рд╣реИрдВред рдЖрдк рд╕рдореВрд╣ рдирд┐рдпрдореЛрдВ рдХреЗ рд▓рд┐рдП рдирдП
yii\web\GroupUrlRule
рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрд╕рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдореВрд╣ рдХреЗ рд╕рднреА URL рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛ред
new GroupUrlRule([ 'prefix' => 'admin', 'rules' => [ 'login' => 'user/login', 'logout' => 'user/logout', 'dashboard' => 'default/dashboard', ], ]);
рднреВрдорд┐рдХрд╛ рдЖрдзрд╛рд░рд┐рдд рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг (RBAC)
рд╣рдордиреЗ рдЖрд░рдмреАрдПрд╕реА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рд╛рд▓ рдХрд░ рджрд┐рдпрд╛ред рдЕрдм рдпрд╣ рдореВрд▓ рдЖрд░рдмреАрдПрд╕реА рдПрдирдЖрдИрдПрд╕рдЯреА рдореЙрдбрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЕрд░реНрдерд╛рддреН рд╣рдордиреЗ
рд╕рдВрдЪрд╛рд▓рди рдФрд░
рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЕрдм рдЙрдирдХреЗ рдкрд╛рд╕
рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╣реИрдВ , рдЬреЛ NIST рд╢рдмреНрдж рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдирдпрд╛ рд╕реНрд╡рд░реВрдк рдФрд░ рдирд┐рдпрдо рдирд┐рдпрдо рд╣реИред рдЕрдм рдирд┐рдпрдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред
рдЕрдиреБрд╡рд╛рдж
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЙрди рд╕рднреА рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ред рдлрд┐рд▓рд╣рд╛рд▓ рдЙрдирдХрд╛ 26 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЪреНрдЫреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рд╣реИ рдирд╛?
рд╕рдВрджреЗрд╢ рдЕрдиреБрд╡рд╛рдж рдШрдЯрдХ рдЕрдм рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрджреЗрд╢ рд▓реЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ
fr-CA
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдиреБрд╡рд╛рдж рдХреЗрд╡рд▓
fr
, рддреЛ Yii рдкрд╣рд▓реЗ
fr-CA
рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдЧрд╛ рдФрд░, рдпрджрд┐ рдпрд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЦреЛрдЬ рдЬрд╛рд░реА рд░рд╣реЗрдЧреАред
Gii рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ
Yii::t()
рдореЗрдВ рд▓рд┐рдкрдЯреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЕрдиреБрд╡рд╛рдж рдЦреЛрдЬ рдЯреАрдо рдиреЗ
.po
рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд░ рд▓рд┐рдЦрдирд╛ рд╕реАрдЦрд╛ред
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдФрд░ рдЙрдкрдХрд░рдг
рд╣рдордиреЗ
yii2-apidoc
рдкреНрд░рд▓реЗрдЦрди рдЬрдирд░реЗрдЯрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреАрдЖрдИ рдкреНрд░рд▓реЗрдЦрди рдФрд░
yii2-apidoc
рд╕реЗ рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдирд░реЗрдЯрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╣реИ рдФрд░ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
http://www.yiiframework.com/doc-2.0/ ред
рдбреАрдмрдЧрд░ рдХреЛ рдХрдИ рдЫреЛрдЯреЗ рд╕реБрдзрд╛рд░ рдФрд░ рдПрдХ рдореЗрд▓ рдбреАрдмрдЧрд┐рдВрдЧ рдкреИрдирд▓ рдорд┐рд▓рд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ рднреЗрдЬреЗ рдЧрдП рдЕрдХреНрд╖рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рднреА рд╕реАрдЦрд╛ред
рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдирдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЬрдирд░реЗрдЯрд░ рдЬреАрдЖрдИрдЖрдИ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рд╕реБрдзрд╛рд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЕрджреНрдпрддрди рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреАрдмреЛрд░реНрдб рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдм, рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рд╕реЗ, рдмрдлрд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред
рдЗрд╕реЗ рдЖрдЬрдорд╛рдЗрдП!
рдзрдиреНрдпрд╡рд╛рдж!
Yii 2.0 рдХрд╛ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рдкреНрд░рдореБрдЦ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рд╣реИ рдЬрд┐рд╕реЗ рдорд╣рд╛рди рд╕рдВрдпреБрдХреНрдд рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд╕рд╛рде рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо
рдЕрдкрдиреЗ рдЕрджреНрднреБрдд рд╕рдореБрджрд╛рдп рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдпрд╡рд╛рди рдХреЛрдб рдХреА рдПрдХ
рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдХреЗ рдмрд┐рдирд╛ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред