рд╕рдорд╕реНрдпрд╛
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдХрд╣рд╛ рдЧрдпрд╛ рдХрд┐ рд░реВрдкрд░реЗрдЦрд╛ рдХреА рдХрдорд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЗрд╕рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ "рдПрдХ рд╡рд░реНрдЧ - рдПрдХ рдлрд╝рд╛рдЗрд▓" рд╣реИред рдФрд░ рдпрджреНрдпрдкрд┐, рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдЬреЗрдбрдПрдл рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдПрдХ рджреЛрд╖ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдкреАрдПрдЪрдкреА рдХрд╛ рдПрдХ рджреЛрд╖ рд╣реИред рдЬрдм рдкреАрдПрдЪрдкреА рджрд░реНрдЬрдиреЛрдВ рдФрд░ рд╕реИрдХрдбрд╝реЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдмрд╛рд░ рдЬрд╛рдВрдЪрдирд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рд╕рдорд╛рд╡реЗрд╢рди рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╣реИред рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рд╡рд░реНрдЧ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдВрддрд┐рдо рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл includ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдЕрдиреНрдп рд╕рднреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реБрдП, рдлреНрд░реЗрдорд╡рд░реНрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реИред
рд╡рд░реНрдЧ
<? php
рдХрдХреНрд╖рд╛ ZendMake
{
/ **
* рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ, рдЖрд╡рд╢реНрдпрдХрддрд╛ / рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ, рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдЧреБрдкреНрдд рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛
*
* Param string $ dest рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░реНрдг рдирд╛рдо
* рдкрд░рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ $ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП ZF рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╢рд╛рдорд┐рд▓ рд╣реИ
* рд╡рд╛рдкрд╕реА рд╕рд░рдгреА
* /
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ рдХрд╛рд░реНрдп рдХрд░рдирд╛ ($ рднрд╛рдЧреНрдп, $ рд╢рд╛рдорд┐рд▓ рд╣реИ = рдЕрд╢рдХреНрдд)
{
$ рд╢рд╛рдорд┐рд▓ рд╣реИ = is_array ($ рд╢рд╛рдорд┐рд▓ рд╣реИ)? $ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд╕реНрд╡рдпрдВ :: _ getZendIncludes ();
// рдЯреИрдЧ рд╣рдЯрд╛рдПрдВ '<? Php' '? > ', рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ, рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрджрд┐рдо рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ / рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ [_once]
$ рдкреИрдЯрд░реНрди [] = '% (^ \ <\; php | \? \> $)% m'?
$ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди [] = '';
$ рдкреИрдЯрд░реНрди [] = '% / \ *ред *; \ * /% sm';
$ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди [] = '';
$ рдкреИрдЯрд░реНрди [] = '% //ред * $% m';
$ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди [] = '';
$ рдкреИрдЯрд░реНрди [] = '% (requ_once | рд╢рд╛рдорд┐рд▓_рдСрдирд╕ | рдЖрд╡рд╢реНрдпрдХрддрд╛ | рд╢рд╛рдорд┐рд▓)] [("\" ((? *?) [] "\тАЩ];% sm тАЩ;
$ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди [] = '';
$ рдкреИрдЯрд░реНрди [] = '% (\ n) {2,}%';
$ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди [] = "\ n";
$ рд╢рд░реАрд░ = "<? php \ n";
foreach ($ $ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ) {
$ рд╢рд░реАрд░ред = preg_replace ($ рдкреИрдЯрд░реНрди, $ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди, file_get_contents ($ fname, true));
}
$ рдЖрдХрд╛рд░ = file_put_contents ($ рдЧрдВрддрд╡реНрдп, $ рд╢рд░реАрд░);
рд░рд┐рдЯрд░реНрди рдРрд░реЗ ('рдореЗрдВ' => $ рд╢рд╛рдорд┐рд▓ рд╣реИ, 'рд╕рдВрдХрд▓рд┐рдд рдмреЙрдбреА' => $ рд╢рд░реАрд░, 'рд╕рдВрдХрд▓рд┐рдд' => рдЕрдиреНрдп рдЖрдХрд╛рд░);
}
/ **
* рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрдВрдж рдЕрджреНрд╡рд┐рддреАрдп ZF рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
*
* рд╡рд╛рдкрд╕реА рд╕рд░рдгреА
* /
рдирд┐рдЬреА рд╕реНрдерд┐рд░ рдлрд╝рдВрдХреНрд╢рди _getZendIncludes ()
{
$ рдЖрд╡рд╢реНрдпрдХ = рд╕рд░рдгреА ();
$ рд╢рд╛рдорд┐рд▓_рдлрд╛рдЗрд▓реНрд╕ = get_included_files ();
foreach ($ рд╢рд╛рдорд┐рд▓_рдлрд╛рдЗрд▓ $ fname рдХреЗ рд░реВрдк рдореЗрдВ) {
рдЕрдЧрд░ ((рд╕реНрдЯреНрд░реИрдк ($ fname, 'Zend')> 0) || (рд╕реНрдЯреНрд░реЙрд╕реНрдЯ ($ fname, __CLASS__ред '.php'))) {ред
рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП;
}
$ рдЖрд╡рд╢реНрдпрдХ [] = str_replace ('\\', '/', рдкрджрд╛рд░реНрде ($ fname, strpos ($ fname, 'Zend'), strlen ($ fname)));
// рд╕рднреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
$ рдкреИрдЯрд░реНрди = '% (рдЖрд╡рд╢реНрдпрдХрддрд╛_ рд╢рд╛рдорд┐рд▓ред рд╢рд╛рдорд┐рд▓ рд╣реИред рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ) [("\"] (? *?) [] "\'];% sm ';
preg_match_all ($ рдкреИрдЯрд░реНрди, file_get_contents ($ fname), $ рдкреЙрдХреЗрдЯ);
$ рдЖрд╡рд╢реНрдпрдХ = array_merge ($ рдкреЙрдХреЗрдЯ [2], $ рдЕрдкреЗрдХреНрд╖рд┐рдд);
}
рд╡рд╛рдкрд╕реА array_unique ($ рдЖрд╡рд╢реНрдпрдХ);
}
}
рдХреЗ рдЙрдкрдпреЛрдЧ
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓рд╛рдЗрдиреЗрдВ рдбрд╛рд▓реЗрдВ
'ZendMake.php' рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;
$ рдкрд░рд┐рдгрд╛рдо = ZendMake :: рдмрдирд╛рдУ ($ libDirред 'Zend.Make.php');
Zend_Debug :: рдбрдВрдк ($ рдкрд░рд┐рдгрд╛рдо ['рд╢рд╛рдорд┐рд▓ рд╣реИрдВ]]);
Zend_Debug :: рдбрдВрдк ($ рдкрд░рд┐рдгрд╛рдо ['рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ']);
рдкрд░рд┐рдгрд╛рдо
рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ (рдирд┐рдпрдВрддреНрд░рдХ, рд╕рддреНрд░, рдкреНрд░рд╛рдорд╛рдгрд┐рдХ, рджреГрд╢реНрдп, рдЙрдбрд╝реА, рдбреАрдмреА, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рд╕рдВрд╕реНрдХрд░рдг, рдбреАрдмрдЧ, рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЙрдбреНрдпреВрд▓) рд╕реЗ 60 рд╕реЗ рдЕрдзрд┐рдХ рдЬреЗрдбрдПрдл рдлрд╛рдЗрд▓реЗрдВ рдПрдХрддреНрд░ рдХреАрдВред рдПрдХрддреНрд░ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ 231 kb рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
рдЗрдХрдЯреНрдареЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд░рди рд╕рдордп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 8 рдЧреБрдирд╛ рд╕реЗ рдЕрдзрд┐рдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рддреЗрдЬ рд╣реИред