PHP рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
$user->v_useragent = 'coresky.agent';
рдРрд╕рд╛ рдХреЛрдб рдПрдХ UPDATE рдпрд╛ INSERT SQL рдХреНрд╡реЗрд░реА рдХреЛ рднрдбрд╝рдХрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдорд╛рди рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рднрдбрд╝рдХрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкреНрд░реЗрдд SQL рдХреНрд╡реЗрд░реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдорддреМрд░ рдкрд░ рдЬреНрдпрд╛рджрд╛рддрд░ CRM рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдмрд┐рдирд╛ CRM рдХреЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░реЗрдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ (рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ) рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИ: рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛, рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдирд╛, рд╕рдВрднрд╡рддрдГ рдХрдИ рдмрд╛рд░, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ред рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдЗрд╕рдХрд╛ рдмреНрдпреМрд░рд╛ ...
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдЖрдкрдХреЗ рдкрд╛рд╕ рддреАрди рдЪрд░рдг рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХред рдореИрдВ рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдХрд╛ рдХреЛрдб рджреВрдВрдЧрд╛ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкрдврд╝реЗ рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирдкреИрдХ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:
class SKY // coresky { ... static function &ghost($char, $original, $sql = '', $flag = 0) { SKY::$mem[$char] = [$flag, $flag & 4 ? null : $original, $sql, []]; if ($sql) trace('GHOST SQL: ' . (is_array($sql) ? end($sql) : $sql), false, 1); if ($original) foreach (explode("\n", unl($original)) as $v) { list($k, $v) = explode(' ', $v, 2); SKY::$mem[$char][3][$k] = unescape($v, true); } return SKY::$mem[$char][3]; }
рд╡рд┐рдзрд┐ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░:
- $ рдЪрд╛рд░ - рдЕрдВрдЧреНрд░реЗрдЬреА рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЕрдХреНрд╖рд░, рдкреНрд░реЗрдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрд░реЛрдХреНрдд рдЙрдкрд╕рд░реНрдЧреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИ;
- $ рдореВрд▓ - рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрд▓ (MySQL рдХреЗ рд▓рд┐рдП `рдорд╛рдзреНрдпрдо) рдХреА рдкрд╛рда рд╕рд╛рдордЧреНрд░реА, рдЬрд╣рд╛рдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЗрдд рдкреНрд░рд╢реНрди $ рдЪрд╛рд░ рдереЛрдХ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рднреА рдЗрдирдкреБрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИ;
- $ sql - рдПрдХ рдХреНрд╡реЗрд░реА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ SQL рдХреНрд╡реЗрд░реА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, register_shutdown_function () рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ;
- $ рдзреНрд╡рдЬ - рдзреНрд╡рдЬред рдЕрдзрд┐рдХ рдмрд╛рд░, 0 рдХрд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдореВрд▓реНрдп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
Sql (..) рдпрд╛ sqlf (..) рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд╡реЗрд░реА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рджреВрд╕рд░рд╛ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ SQL рдЗрдВрдЬреЗрдХреНрд╢рди рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ, рдпрд╣ рддреЗрдЬ рдФрд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:
function sqlf() {
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ
рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ sqlf () рдлрд╝рдВрдХреНрд╢рди рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдСрдкрд░реЗрд╢рди рдХреЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЙрдЪреНрдЪ рдЧрддрд┐ рдХреЗ рдХрд╛рд░рдг, рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ sql () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред Sqlf () рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдПрдХ рдорд╛рдзреНрдпрдо рд╕реЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдХрдИ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓рдВрдмрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ PHP рдХреЛрдб рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ
$ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд░ рдореЗрдВ рдПрдХ USER рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрджрд▓реЗ рдореЗрдВ __get () рдФрд░ __set () рдЬрд╛рджреВ рдХреЗ рддрд░реАрдХреЗ рд╣реЛрддреЗ рд╣реИрдВред рдЙрдкрд╕рд░реНрдЧ v_ рджреНрд╡рд╛рд░рд╛, рд╡рд░реНрдЧ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ `рд╡рд┐рдЬрд╝рд┐рдЯрд░` рд╕рддреНрд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИ рдФрд░ SKY :: save (..) рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ SKY :: $ mem рд╕рд░рдгреА рдореЗрдВ рдХреЛрдб рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ, register_shutdown_function () рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ SQL рдХреНрд╡реЗрд░реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди (рдпрд╛ рдирд╣реАрдВ) рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреЛ, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрдиреНрдп рджреЛ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ SKY :: save (..) рдФрд░ SKY :: рдпрд╣рд╛рдБ (..)ред рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡реЗрд░реА рдЙрддреНрдкрдиреНрди рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдХреЙрд░рд╕реНрдХреА рдХреЛрдб (рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдлреНрд░реЗрдорд╡рд░реНрдХ рдпрд╛ CMF рдХреЛрдб) 8 рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЗрдд SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
- рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдЬрд┐рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдЖрдЧрдВрддреБрдХ рд╡рд┐рдиреНрдпрд╛рд╕
- рдЕрдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди;
- рд╕рд┐рд╕реНрдЯрдо рдкреИрдирд▓ рдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди;
- рдХрдВрд╕реЛрд▓ рд▓реЙрдиреНрдЪ рдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди;
- i18n рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЗрдд рдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, "рдкреНрд░реЗрдд рдПрд╕рдХреНрдпреВрдПрд▓" рд▓рдЧрднрдЧ рд╕рднреА рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред
рд╡рд░реНрдгрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд╛рдн
- рдЬреИрд╕реЗ рд╣реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдирдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП ALTER TABLE ... (рдпрд╛ рдирдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдмрд╕ PHP рдХреЛрдб рдореЗрдВ рдирдП рдЪрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ;
- рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдПрдХ рд╣реА рддрд╛рд▓рд┐рдХрд╛ рдХреА рдПрдХ рд╣реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рд╣реЛрдиреЗ рдкрд░ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреА рд╣реИ;
рдХрдореА
рднреВрдд SQL рдЪрд░ рдХреЗ рд▓рд┐рдП, рдЖрдк "рдкреЗрдВрдЪ" рдЕрдиреБрдХреНрд░рдорд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдк рд▓реЙрдХ рдЯреЗрдмрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдиреНрдп рдЙрдиреНрдирдд MySQL рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА
SKY рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ
ред