рдЕрдиреБрднрд╡ рдХреЗ Yii рд╡рд┐рдирд┐рдордп: рдореЙрдбрд▓ (рд╕рдорд╛рдкреНрдд)


рдкрд┐рдЫрд▓реЗ рдкреЛрд╕реНрдЯ рдХреА рдирд┐рд░рдВрддрд░рддрд╛

рдореЙрдбрд▓ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕рдХреА рдЬрдЧрд╣

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

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

рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

рдЖрдорддреМрд░ рдкрд░, рд╕рддреНрдпрд╛рдкрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рджреЛрдиреЛрдВ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ, рдФрд░ рд╕рддреНрдпрд╛рдкрди рдЕрдХреНрд╕рд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

//   if($model->status == 1){ ... } //    if($model->getStatus() === Model::STATUS_ACTIVE){ ... } //   if($model->status !== 1 && $model->status !== 2 && $model->status !== 4){ ... } //--    


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

рдЭрдВрдбреЗ рдХреЗ рдЦреЗрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЖрдХрд╛рд░ (рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП, рдореЙрдбрд▓ рдмрд┐рдЯ рдзреНрд╡рдЬ рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ (рд▓реЗрдХрд┐рди рдЬрд░реВрд░реА рдирд╣реАрдВ) рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд╛рдлреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЭрдВрдбреЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ рд▓реЗрдЦ рдореЗрдВ рдзреНрд╡рдЬ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред рдЕрдм рдореИрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред ( рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдмрд┐рдЯ рдорд╛рд╕реНрдХ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдЙрджрд╛рд╣рд░рдг: рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕рд╛рде рдХрдИ рдЭрдВрдбреЗ рд╕реМрдВрдкреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ - "рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦрдХ", "рдлреЛрди рдХреА рдкреБрд╖реНрдЯрд┐", "рдИрдореЗрд▓ рдХреА рдкреБрд╖реНрдЯрд┐", "рдПрдХ рдордзреНрдпрд╕реНрде рдкрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдЫреЛрдбрд╝ рджрд┐рдпрд╛"
рдореЙрдбрд▓ рдХрд╛ рдЯреБрдХрдбрд╝рд╛
  public $flags = 0; const FLAG_CONFIRM_EMAIL = 1; // 00000001 const FLAG_CONFIRM_PHONE = 2; // 00000010 const FLAG_BEST_AUTHOR = 4; // 00000100 const FLAG_BECOME_MODERATOR = 8; // 00001000 /** *   * @param integer $flag * @return \User */ public function setFlag($flag) { $this->flag += intval($flag); return $this; } /** *   * @param integer $flag * @return \User */ public function unsetFlag($flag) { $this->flag -= intval($flag); return $this; } /** *    * @param integer $flag * @return boolean */ public function hasFlag($flag) { return ($this->flags & intval($flag)); } /** *     * @return array */ public function getFlagsLabels(){ return array( self::FLAG_CONFIRM_EMAIL => Yii::t('User',"Email "), self::FLAG_CONFIRM_PHONE => Yii::t('User'," "), self::FLAG_BEST_AUTHOR => Yii::t('User'," "), self::FLAG_BECOME_MODERATOR => Yii::t('User',"   "), ); } /** *      * @param integer $flag * @return \User */ public function withFlags($flag=0) { $this->getDbCriteria()->mergeWith(array( 'order'=>'flags & :flag', 'params' => array(':flag' => $flag), )); return $this; } 



MySQL рдХреНрд╡реЗрд░реА рдореЗрдВ, рдЪреЗрдХ рдлреЙрд░реНрдо рд▓реЗрдЧрд╛:
  SELECT * FROM `User` WHERE STATUS & 6 


рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдирд╛рдорд┐рдд рд╕рдореВрд╣ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

  User::model()->withFlags(User::FLAG_CONFIRM_EMAIL)->findAll(); 


рд╕рдВрдмрдВрдз рд╕рдВрдмрдВрдз

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╕рдВрдмрдВрдзрдкрд░рдХ рд╕рдВрдмрдВрдз рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдРрд╕реА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред


рджреГрд╢реНрдп рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ

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

рд╕рд╣рд╛рдпрдХ рдЙрджрд╛рд╣рд░рдг
 class UserHelper{ /** *      * @return string */ public static function getProfileLink(User $model, $htmlOptions = array()) { return CHtml::link($model->getUserName(),$model->getProfileUrl(),$htmlOptions); } } 



рд╡рд┐рдЬреЗрдЯ рдЙрджрд╛рд╣рд░рдг
 class UserAvatar extends CWidget { public $emptyPhotoUrl = "/static/images/no-photo.png"; public $model; public $htmlOptions; public function run(){ $avatar = $this->emptyPhotoUrl; if($this->model->hasAvatar()) { $avatar = $this->model->getAvatarUrl(); } echo CHtml::image($avatar,$this->model->getUserName(),$this->htmlOptions); } } 



рд╡рд┐рдЬреЗрдЯ рдФрд░ рд╕рд╣рд╛рдпрдХ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ; CGridView рд╡рд┐рдЬреЗрдЯ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╕рд╣рд╛рдпрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

рдореЙрдбрд▓ рд▓реЙрдЧрд┐рдВрдЧ

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

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


All Articles