рдкрд░рд┐рдЪрдп
рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░, рдпрд╣ рд▓реЗрдЦ рдЕрдм рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдореЗрд░реЗ рдбреНрд░рд╛рдлреНрдЯ рдореЗрдВ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрд╛рдж рдХреЗ рд▓рд┐рдП рдмрдВрдж рд░рдЦрд╛, рдЬрдм рдЕрдзрд┐рдХ рд╕рдордп рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди, yii2 рдХреЗ рдЖрд╕рдиреНрди рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдкрд╛рдардХ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдкрд░ рд░рдЦрд╛ред
рдЕрдм 3 рд╕рд╛рд▓ рд╕реЗ рдореИрдВ рдореЗрдЧрд╛рдлреНрд▓реЙрд╡рд░ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдФрд░, рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдЬрдм рдмрд╣реБрдд рд╕рд╛рд░реА рдХрдХреНрд╖рд╛рдПрдВ рдереАрдВ, рдФрд░ рдЙрдирдХреЗ рдирд╛рдо
ItemDiscount
,
ItemDiscount
рдмрди рдЧрдП, рддреЛ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдирд╛рдорд╕реНрдерд╛рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдареАрдХ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдЙрд╕
рддрд░рд╣ рд╕реЗ рдЯрд╣рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢
рдХрд░рддреЗ рд╣реИрдВ , рддреЛ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рдереЛрдбрд╝рд╛ рд╕рд╛, рдмрд▓реНрдХрд┐ рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдирд╣реАрдВред
рддреЛ, рдЖрдЗрдП рдПрдХ рдЖрд╡реЗрджрди рдореЗрдВ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ "рдкрдХрд╛рдиреЗ" рдХреЗ рддрд░реАрдХреЗ рджреЗрдЦреЗрдВред
рдореВрд▓ рдмрд╛рддреЗрдВ
рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рд╣рд░ рдЬрдЧрд╣ рдирд╛рдорд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ
app
рд░реВрдЯ рдХреЛ рд░реВрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ,
application
рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИ) рдЪреБрдирд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, yii рдЗрд╕реЗ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдерд╛ (рдЖрдк index.php рдореЗрдВ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐
Yii::setPathOfAlias
рдЗрд╕рдХреЗ рдкрде рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛, рдФрд░ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рд╕рдордп рдореИрдВ
Yii::setPathOfAlias
рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛
Yii::setPathOfAlias
(рд╢рд╛рдпрдж рдЕрдм рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИ) ), рдореБрдЭреЗ index.php рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рдЗрд╕ рддрд░рд╣ рдореЗрд░рд╛ рд╕реВрдЪрдХрд╛рдВрдХ.рдлрдк рджрд┐рдЦрдиреЗ рд▓рдЧрд╛ $yii=dirname(__FILE__).'/yii/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php';
рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдирд┐рдпрдВрддреНрд░рдХ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рдЙрдкрдирд╛рдо
app
рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдФрд░ рдирд╣реАрдВ! рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдм рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдирд┐рдпрдВрддреНрд░рдХ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг рдФрд░
app\test
рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВред Yii рдкрд░реАрдХреНрд╖рдг рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
app
рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВред рдЪреВрдВрдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкреВрд▓ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛ (рд▓реЗрдХрд┐рди рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ
CWepApplication
рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдФрд░
createController
рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред рдпрд╣ рдмрд╣реБрдд рд╕реБрдВрджрд░ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдХреА рдирдХрд▓ рдХрд░рдиреА рдереА, рд▓реЗрдХрд┐рди, рд╕рднреА рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрдХрдирд╛ рдкрдбрд╝рд╛ред
WepApplication class WebApplication extends CWebApplication {
рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣рдорд╛рд░реЗ рд╕реВрдЪрдХрд╛рдВрдХред рдореЙрдбреНрдпреВрд▓
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рдпрдВрддреНрд░рдХ рд╣реИрдВ, рд╣рдо рдЖрдЧреЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдореЙрдбреНрдпреВрд▓
Yii::createComponent
рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╡рд░реНрдЧ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
config array( 'modules'=>array( 'front'=>array( 'class'=>'front\FrontModule' ) ) )
рдпрд╣ рд╡рд┐рдзрд┐ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА, рдХреНрдпреЛрдВрдХрд┐ yii рдХреЛ
front
рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдкрддрд╛ рд╣реИред рдпрд╣ рдЙрд╕реА рд╕рд┐рджреНрдзрд╛рдВрдд рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐
app
рдЙрдкрдирд╛рдо рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдб рдХреА рдЕрддрд┐рд░реЗрдХ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдпрд╣ рддрд░реАрдХрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдерд╛ (рдореИрдВ рдХреЗрд╡рд▓ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд╛рдо рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛), рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрд╕рд╛рди рдХрд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рд╡рдВрд╢рдЬ
CWebApplication
рдмрджрд▓ рджрд┐рдпрд╛ред
WebApplication class WebApplication extends CWebApplication {
рд╕рдорд╛рдзрд╛рди рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдПрдХ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рд╕рдВрдХрд▓рд┐рдд рдХреА рдЬрд╛рдПрдЧреА (рдХреНрдпреЛрдВ, рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реБрдП, y рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рдЗрд╕реЗ рдкреНрд░рдкрддреНрд░
app.modules.ModuleClass
рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛)ред рдЕрдм, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рд╕рдм рдмрджрд▓ рджреЗрдВ рдФрд░ рдХрдо рдХрд░реЗрдВ
CWebApplication
, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
CWebApplication
рдореЗрдВ рдЙрдкрдирд╛рдо рдХреА рд╕реНрдерд╛рдкрдирд╛ рдбрд╛рд▓реЗрдВ рдФрд░ рдЗрд╕реЗ рдореБрдЦреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
рд╣рдордиреЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рдпрд╣ рд╕рдмрдореЙрдбреНрдпреВрд▓реНрд╕ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рд╣рдо рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред рд╣рд╛рдВ, рдФрд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП
controllerNamespace
рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВред
BaseModule class BaseModule extends \CWebModule { protected function init() { parent::init();
рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд▓рдХреНрд╖рдгреЛрдВ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЖрдкрдХреЛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред
рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб
рдкрд╣рд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ "рдиреЗрдорд╕реНрдкреЗрд╕" рдХрдорд╛рдВрдб рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдореБрдЭреЗ
commandNampespace
рд╕рдорд╛рди рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ рдпрд╛ рддреЛ 'CConsoleApplication' рдпрд╛ 'CConsoleCommandRunner' рдореЗрдВ (рд╢рд╛рдпрдж рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рд╣реИ?)ред рдореИрдВ
commandMap
рдУрд░ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рд▓рдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рднреА рдирд┐рд░рд╛рд╢рд╛ рдиреЗ рдореЗрд░рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛ред
config рдХрдВрд╕реЛрд▓ред php рдХреЛрдб рдЗрд╕ рддрдереНрдп рдкрд░ рд╢рдкрде рдЧреНрд░рд╣рдг рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣
ImportCom
рд╡рд░реНрдЧ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрд╛ред
рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ minuses рдореЗрдВ рд╕реЗ, рд╕рднреА рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдиреЛрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдЬ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдореИрдВ рджреВрд╕рд░реЛрдВ рдХреЛ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрд╛ред
рдЖрджрд░реНрд╢
рддреЛ рд╣рдо рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдмрд╕ рдпрд╣рд╛рдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реИрд╕реЗ рднреА рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╕рдВрдмрдВрдз рд╡рд┐рдзрд┐ рдХреИрд╕реЗ рджрд┐рдЦрдиреА рд╢реБрд░реВ рд╣реБрдИ, рддреЛ рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбрд▓ рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛:
const CLASS_NAME=__CLASS_NAME__;
ред
рддрдм рдореИрдВрдиреЗ рдмреЗрд╕ рдореЙрдбрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рдЖрд╕рд╛рди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рд╕рдорд╛рдзрд╛рди yii2 рдореЗрдВ рдЬрд╛рд╕реВрд╕реА рд╣реИ)ред
рдмреЗрд╕ рдореЙрдбрд▓ NamespaceRecord class NamespaceRecord extends CActiveRecord { public static function className() { return get_called_class(); } }
рдЗрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рд╕рд░рд▓ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╣реЛ рдЧрдП рд╣реИрдВред
рдпрд╣ рдерд╛: public function relations(){ return array( 'country'=>'app\location\Country', ) }
рдпрд╣ рдмрди рдЧрдпрд╛: public function relations(){ return array( 'country'=>Country::className(), ) }
рдкреНрд░рдкрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ, рд▓реЗрдХрд┐рди yii рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдерд╛ред
рд╡рд┐рдЬреЗрдЯ
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рдЗрд╕
$this->widget(' \ ')
рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, yii2 рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд┐рдЬреЗрдЯреНрд╕ рдХреЛ yii2 рдХреА рддрд░рд╣ рдмрдирд╛рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕рднреА рд╡рд┐рдЬреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред
NSWidget рдмреЗрд╕ рд╡рд┐рдЬреЗрдЯ class NSWidget extends \CWidget{ public static function begin($options=array()) { return \Yii::app()->controller->beginWidget(get_called_class(),$options); } public static function end() { return \Yii::app()->controller->endWidget(); } public static function runWidget($options=array()) { return \Yii::app()->controller->widget(get_called_class(),$options,true); } }
рд╕рдм рдХреБрдЫ, рдЕрдм рд╣рдо рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ echo MyWidgetNS\MyWidget::begin($options); echo MyWidgetNS\MyWidget::end();
рдпрд╣ рд╕рдм рд╣реИ, рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдпрд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ - рд▓рд┐рдЦреЛ, рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдХрд░реВрдВрдЧрд╛ред
рдпреБрдкреАрдбреАред рдЖрдЬ рд╣рдордиреЗ рдПрдХ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдЧ рддрдп рдХрд┐рдпрд╛ред CWebApplication рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ред рдЙрдкрдирд╛рдо рдХреЗ рд▓рд┐рдП, рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдп рд╣реИ) рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
config 'aliases'=>array( 'app'=>'application' ),
рдПрдХ рд╣реА рд╡рд┐рдХрд▓реНрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП "рдмреИрд╕рд╛рдЦреА" рдХреЛ рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ