рдПрдХ Yii рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╕реЗрдЯрд┐рдВрдЧ рдкреГрд╖реНрда

рдирдорд╕реНрдХрд╛рд░ред

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

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

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЕрд╡рдзрд┐ рд▓рдЧрднрдЧ рдЖрдзреЗ рдШрдВрдЯреЗ рд╣реИред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреЛрдИ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдерд╛ред рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░реЗрдВ, рд╢рд╛рдпрдж рдХреЛрдИ рдХрд╛рдо рдЖрдПрдЧрд╛ред

рд╣рдо рдЗрд╕реЗ рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдХрд░реЗрдВрдЧреЗред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд╛рдо, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рд╡рд░рдг, Gii рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб, рдИрдореЗрд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХред

рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ


рдЗрд╕рд▓рд┐рдП, рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЕрдкрдирд╛ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
configpage components Econfig.php conrollers WtsController.php models WtsConfigForm.php views wts config.php configForm.php ConfigpageModule.php 

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

рд╣рдорд╛рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ Gii рдФрд░ рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред configpageModule.php рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддрд╛ рд╣реИ:
 class ConfigpageModule extends CWebModule { public function init() { $this->setImport(array( 'configpage.models.*', 'configpage.components.*', )); } public function beforeControllerAction($controller, $action) { if(parent::beforeControllerAction($controller, $action)) { return true; } else return false; } } 

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

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдлреЙрд░реНрдо рдореЙрдбрд▓, рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ, рдлреЙрд░реНрдо рдХрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рдПрдХ рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЪрд▓реЛ рдореЙрдбрд▓ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
WtsConfigForm.php:
 class WtsConfigForm extends CFormModel { public $applicationName; public $applicationShortDesc; public $giiPassword; public $adminEmail; public function rules() { return array( array('applicationName, giiPassword, adminEmail, applicationShortDesc', 'required'), ); } public function attributeLabels() { return array( 'applicationName' => Yii::t('app', ' '), 'applicationShortDesc' => Yii::t('app', '  '), 'giiPassword' => Yii::t('app', '    Gii'), 'adminEmail' => Yii::t('app', 'Email '), ); } } 

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

Okeynoред рд╣рдо рдорд┐рдард╛рдИ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдкреНрд░рдкрддреНрд░ рдФрд░ рджреГрд╢реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВред рдкреНрд░рдкрддреНрд░ рд╡рд┐рд╡рд░рдг рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рд░рдгреА рд╣реИ рдЬреЛ рдлрд╝реАрд▓реНрдб рдФрд░ рдкреНрд░рдкрддреНрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
configForm.php:
 return array( 'elements'=>array( 'mainSettings'=>array( 'type'=>'form', 'title'=>' ', 'elements'=>array( 'applicationName'=>array('type'=>'text',), 'applicationShortDesc'=>array('type'=>'text',), ), ), 'systemSettings'=>array( 'type'=>'form', 'title'=>' ', 'elements'=>array( 'adminEmail'=>array('type'=>'text',), 'giiPassword'=>array('type'=>'text', ), ), ), ), 'buttons'=>array( 'configPage'=>array( 'type'=>'submit', 'label'=>'', ), ), ); 

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

рд╣рдо рдпрд╣ рд╕рдм рд╕рд░рд▓рддрдо рджреГрд╢реНрдп рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо config.php рд╣реИ :
 <?php $this->breadcrumbs = array( '', ' ', ); ?> <div class="form"> <?php echo $form; ?> </div> 

рдЦреИрд░, рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рддреБрдЪреНрдЫ рд╣реИред рдЬрдм рддрдХ рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд▓рд┐рдП, рдмреНрд░реЗрдбрдХреНрд░рдВрдм рдЫреЛрдбрд╝ рджреЗрдВред

рдФрд░ рдЕрдм рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдЦреЗрддреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖реЛрдВ рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред DB рдиреЗрдордкреНрд▓реЗрдЯ рднрдВрдбрд╛рд░рдг рдХреБрдВрдЬреА-> рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗред рд╕рдВрдЪрд╛рд░, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, EConfig рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред рдлрд╝рд╛рдЗрд▓ WtsController.php :
 class WtsController extends Controller { public function actionIndex() { $model = new WtsConfigForm; foreach ($model->attributes as $attr => $val) { $model->$attr = Yii::app()->getModule('configpage')->config->get($attr); } $form = new CForm('configpage.views.wts.configForm', $model); if ($form->submitted('configPage') && $form->validate()) { foreach ($model->attributes as $attr => $val) { Yii::app()->getModule('configpage')->config->set($attr, $val); } $this->render('config', array('form' => $form)); } else { $this->render('config', array('form' => $form)); } } } 

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

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

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

рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рд░рд╣ рдЬрд╛рддреА рд╣реИрдВред рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред

Hooking


рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ ( main.php ) рдХреЗ рдореЙрдбреНрдпреВрд▓ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдмрд╕ рдирд┐рдореНрди рдХреЛрдб рджрд░реНрдЬ рдХрд░реЗрдВред
 ... 'modules' => array( 'configpage' => array( 'components' => array( 'config' => array( 'class' => 'EConfig', 'strictMode' => false, ), ), ), ), ... 

рдпрд╣ рд╕рдм рд╣реИ, рдореЙрдбреНрдпреВрд▓ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред

рдЙрдкрдпреЛрдЧ


рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╡рд╣ рдкреГрд╖реНрда рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА index.php рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 $app = Yii::createWebApplication($config); function loadSettings() { Yii::app()->getModule('gii')->password = Yii::app()->getModule('configpage')->config->get('giiPassword'); Yii::app()->name = Yii::app()->getModule('configpage')->config->get('applicationName'); Yii::app()->params['adminEmail'] = Yii::app()->getModule('configpage')->config->get('adminEmail'); } loadSettings(); $app->run(); 

рдпрд╣реА рд╣реИ, рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рд╣рдо рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рддреЗ рд╣реИрдВред
рдХреБрдЫ рдЗрд╕ рддрд░рд╣ред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореБрдЭреЗ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рд╡рд╣ рд╣реИ рд╡рд┐рдзрд┐ рдХреЙрд▓ рд▓рд╛рдЗрди:
 Yii::app()->getModule('configpage')->config->get('applicationName'); 

рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЕрднреА рднреА рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдХрд╣рд╛рдБред рдпрд╣рд╛рдБ рд╣рдореЗрдВ рдЕрдВрдд рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:
рдЫрд╡рд┐

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

рдкреЙрдЬрд┐рдЯрд┐рд╡ рд╕реЗ


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

рдЗрд╕рд▓рд┐рдП рдпреЛрдЧреНрдп рдХрд░реНрдорд┐рдпреЛрдВ рдХреА рдирд┐рд░рдВрддрд░ рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдбрд╝реЛрд╕реА рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдПрдХ рддрд░рд╣ рд╕реЗ рдмреЗрд╡рдХреВрдл рд╣реИред

рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдЗрддрдиреЗ рд╕рд░рд▓ рд╣реИрдВ рдХрд┐ 90% рдХрд╛рдо рдХрднреА рднреА рдмрд┐рдирд╛ рдмреАрдЯреНрд░реА рдФрд░ рд╣реИрд╢ рдЬреИрд╕реЗ MySql рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдЬрд╛рдиреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд╢реЗрд╖ 10% рдХреЛ рд╣рдореЗрд╢рд╛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдУрд╣ рдареАрдХ рд╣реИ, рдпрд╣ рд╕рдм рдЧреАрдд рд╣реИред

рдореИрдВ рдФрд░ рдХреНрдпрд╛ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛


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

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, Yii рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ, рд╡рд╛рд╕реНрддреБ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдФрд░ рд╡рд┐рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдмреЙрдХреНрд╕ рдЬрдорд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдореИрдВ рдЙрди рд╕рднреА рдХрд╛ рдорд╛рдирд╡реАрдп рд░реВрдк рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╕рдордп ...

рд╕рдм рдХреБрдЫ рдкрд╕рдВрдж рд╣реИред рдкреНрд░рд╢реНрди? рд╕реБрдЭрд╛рд╡?

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


All Articles