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

рдЕрджреНрдпрддрди рддрд░реНрдХ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрд╡рдпрдВ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ FALSE рд▓реМрдЯрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреБрдВрдЬреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЖрд░реЗрдЦ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕ рд╕рдордп рдкрд░реЗрд╢рд╛рдиреА рдкреИрджрд╛ рд╣реЛрддреА рд╣реИ рдЬрдм рдкрд╣рд▓реЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрднреА "рддреИрдпрд╛рд░" рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдФрд░ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд╕реА рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВред
рд╕рдЯреАрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП
badbloodydemon habruiser рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рд╕реНрдерд┐рддрд┐ рдХреЛ "рдбреЙрдЧ рдкрд╛рдЗрд▓ рдЗрдлреЗрдХреНрдЯ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рд░реНрдгрдп
рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЖрдЧреЗ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ - рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдПред
рдкрд╣рд▓реЗ, рд╣рдордиреЗ рд▓реЙрдХ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЕрдкрдбреЗрдЯ рдХрддрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░рд┐рджреГрд╢реНрдп рдмрд╣реБрдд рд╣реА рдзреАрдорд╛ рд╣реИред
рдлрд┐рд░ рд╣рдордиреЗ рд╕реЛрдЪрд╛ рдХрд┐ - рдЕрдЧрд░ рдХреЛрдб рдбреЗрдЯрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рддреЛ рдЙрд╕реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рджреЗрдВред рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕реЗ FALSE рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рддреБрд░рдВрдд, рдкреБрд░рд╛рдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдХреБрд▓: рдЕрджреНрдпрддрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдмрд╛рд░ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рдкреБрдирд░реНрдЬрдирди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрдд рддрдХ рдЖрд╡реЗрджрди рдкрд░ рд╡рд╛рдкрд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рдХреЗрд╡рд▓ рдкреБрдирд░реНрдЬрдирди рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП "рд░реЙрдЯ рдЖрдЙрдЯ" рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рд╣реА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЯрд╛рдЗрдордЖрдЙрдЯ рдФрд░ рдХреБрдВрдЬреА рдХреЛ рдЕрдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдордХреЗрд╢ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рд╕рдордп рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ рдмрдбрд╝реЗ (рдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП) рдПрдХ рд╕рд░рдгреА рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдореНрдХреЗрд╢ рдореЗрдВ рдорд┐рд▓рддреА рд╣реИред рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рд▓рдВрдмреА рдХреБрдВрдЬреА рднрдВрдбрд╛рд░рдг рдХрд╛ рд╕рдордп 30 рджрд┐рди рд╣реИред рдпрд╛рдиреА рд╕рд┐рд░реНрдл 15 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП "рд░реИрдкрд░" рдбреЗрдЯрд╛ рдореЗрдВ рд░рдЦреЗрдВ - рдирд┐рд╖реНрдард╛ рдХреЗ рд▓рд┐рдП 1 рд╕реЗрдХрдВрдбред рд╡рд╣реА рдПрдХ рд╕рдордп-рд╕реАрдорд╛ = 0 рдХреЗ рд╕рд╛рде рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ (рдпрд╛рдиреА, рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП, рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рднреАрдбрд╝ рд╕реЗ рдмрд╛рд╣рд░ рди рд╣реЛ рдЬрд╛рдП)ред 15 рджрд┐рдиреЛрдВ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдЬрдм рдПрдХ рдореЗрдореЗрд╢ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╕реНрдерд┐рддрд┐ - рдореИрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рдХреБрдЫ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рд╣рдордиреЗ рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рдкрд░ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ред рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реЛрдирд╛ рдерд╛ рдХрд┐ рд╕рднреА рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рдХреА рдХреБрдВрдЬреА "_inc" рдореЗрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред рдФрд░ рдЬрдм рдЗрд╕ рддрд░рд╣ рдХреА рдХреБрдВрдЬреА рдорд┐рд▓ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореЗрдореЛрд░реЗрд╢ рдиреЗ рд╣реА рдмрдврд╝рд╛рдпрд╛ рд╣реИред * рдореИрдВрдиреЗ рдпрд╣ рдХрд╛рдВрдЯрд╛ рдпрд╛ рдореЗрдореНрдХрд╛рдЪреЗ_рдкреНрд░реЙрдХреНрд╕реА :: get () рд╡рд┐рдзрд┐ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред
рдХреЛрдб
рдХреЛрдб рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ :) рдореИрдВ рдХреЛрдб рд╢реАрдЯ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЕрдм рдирд╣реАрдВ рдХрд╛рдЯ рд╕рдХрддрд╛ред
class MC { private static $_proxy;
рдПрдордПрд╕ рд╡рд░реНрдЧ рдХреЛ рдкреВрд░реЗ рдХреЛрдб рдХреЗ рднреАрддрд░ рдореЗрдореНрдЪреЗ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореЗрдХрдЪреЗ рдХреЛ рдХрдиреЗрдХреНрд╢рди рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдЖрдк рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВред
class Memcache_Proxy extends Memcache { public $closed = false; public function __construct() { $this->connect(MEMCACHE_HOST, MEMCACHE_PORT, null); $this->closed = false; } function __destruct() { $this->close(); $this->closed = true; } public function get($key = '') { if (empty($key)) return FALSE; $data = parent::get($key); if ($data !== FALSE && $this->_is_valid_cache($data)) { if (!isset($data['_dc_cache'])) $data['_dc_cache'] = NULL;
рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг
рдХреЛрдб, рд╕рд┐рд░реНрдл рдХреЛрдбред рдпрджрд┐ рдбреЗрдЯрд╛ рдЦрдЯреНрдЯрд╛ рд╣реИ, рддреЛ рд╣рдо рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдзрдХрд░реНрддрд╛ рдХреЛ FALSE рдХрд░рдХреЗ рдЬреЗрдирд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реА рд╕рдордп рдЙрд╕реА рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдЧрд▓рд╛ рдЕрдиреБрд░реЛрдзрдХрд░реНрддрд╛ рдкреБрд░рд╛рдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдкрд╣рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреАрдврд╝реА рдЦрддреНрдо рди рд╣реЛ рдЬрд╛рдП рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде MC :: set () рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛред рдЙрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред
$data = MC::get('some_key'); if ($data === FALSE) {
рдпрд╛рдиреА рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдореЗрдордХреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦреЗрдВред рдпрджрд┐ рдореЗрдордХреЗрд╢ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдкрд░ рдерд╛, рддреЛ рдЖрдк рдЗрд╕реЗ рд╕рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЫреВ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣, рд╡реИрд╕реЗ, рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛: рдореЗрдХреЗрд╢ рдХреЗ рдирдП рд╡рд░реНрдЧ рдХреА рд╢реБрд░реВрдЖрдд рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧред
рд╕рд╛рд░рд╛рдВрд╢
рдЖрдк рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рдУрд╡рд░рд╣реЗрдб рдкрд░ рдЕрдкрдиреА рдЖрдБрдЦреЗрдВ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореЗрдореЛрд░реА рдЕрдм рд╕рд╕реНрддреА рд╣реИред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдкреАрдврд╝реА рдХреЗ рд╕рдордп рдХреЗ рдмрд░рд╛рдмрд░ рд╕рдордп рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдбреЗрдЯрд╛ "рдмреЗрдИрдорд╛рдиреА" рдШрд╛рддрдХ рдФрд░ рд╕рд╣рдиреАрдп рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рд╣реА рдбреЗрдЯрд╛ рдХреА рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдирдИ рдзрд╛рд░рд╛рдПрдВ рдирд╣реАрдВ рдмрдирддреА рд╣реИрдВред QED!
рдкреБрдирд╢реНрдЪрд╕реБрдЭрд╛рд╡ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ! рд╡рд░реНрддрдиреА - рдкреАрдПрдо рдореЗрдВ, рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ - рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ!
рдпреБрдкреАрдбреАредрдХреЙрдорд░реЗрдб рдорд╛рдЗрдирд╕ - рдЕрдкрдиреА рдкрд╕рдВрдж рдХрд╛ рддрд░реНрдХ рджреЗрддреЗ рд╣реИрдВред рд╣рд░ рдХреЛрдИ рдкреБрд╢реНрдХрд┐рди рдФрд░ рд╕реНрдЯреНрд░реИрд╕рдкреБрдк рдХреА рдкреНрд░рддрд┐рднрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреИрджрд╛ рдирд╣реАрдВ рд╣реБрдЖ рдерд╛!
рдпреБрдкреАрдбреАред 2рд╣рдо рд╡рд┐рдкрдХреНрд╖ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ:
1ред
MC рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рднреА рди рдмрджрд▓реЗред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред рдЗрд╕реЗ рдЕрдкрдиреЗ рд░реИрдкрд░ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдореЗрдореЗрдХреЗрд╢ рдкрд░ рдмрджрд▓реЗрдВ, рдпрджрд┐ рдХреЛрдИ рд╣реЛред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рднреНрдп IDE рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ -> ClassName рдмрджрд▓реЗрдВред
2ред
рдХреНрд▓рд╛рд╕ рдПрдордПрд╕ рд╕реНрдерд┐рд░ рд╣реИред рдпрд╣ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рд╣реБрдЖ - рдХрдо рд╕реЗ рдХрдо рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ - рдореБрдЦреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ред рдореИрдВрдиреЗ рд╣реНрд░рдм рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ - рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рд╡рд╣рд╛рдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред