PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд╕реЗрдЯрд┐рдВрдЧ

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

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

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

рдирд┐рдпрдо рдФрд░ рд╢рд░реНрддреЗрдВ:
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рджреВрд╕рд░реЗ рдХрд╛ рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдореБрдЭреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рд▓рдЧ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╣реИред рдФрд░, рд╡реИрд╕реЗ, рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗ рд╕рд╛рде PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ "рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рд╕реЗ рдмрд╛рд╣рд░" рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдореИрдВ рдЙрдкрдХрд░рдг рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ рджреЗрддрд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЧрддрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓рд┐рдкрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рд╕рд░реНрд╡рд░ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред

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

рдЗрдирд┐ рдлрд╛рдЗрд▓реЗрдВ


: 0.015, 0.086, 0.784

:
x1 = 1
x2 = 2
x3 = 3

:
function config($file) {
    return parse_ini_file($file);
}

, . .

PHP-


: 0.029, 0.111, 0.902

:
<?
return array (
  'x1' => '1',
  'x2' => '2',
  'x3' => '3',
);
?>

:
function config($file) {
    return include($file);
}

. return, . , , , . .

, INI-, . , , PHP-, .

XML-


: 0.062, 0.385, 3.911

:
<root>
  <x1>1</x1>
  <x2>2</x2>
  <x3>3</x3>
</root>

:
function config($file) {
    $r = array();
    $dom = new DOMDocument;
    $dom->load($file);
    foreach ($dom->firstChild->childNodes as $node) {
        if ($node->nodeType == XML_ELEMENT_NODE) {
            $r[$node->nodeName] = $node->firstChild->nodeValue;
        }
    }
    return $r;
}

: , , . , PHP- , return XML- ( , , ). . .

: NEW! 0.047, 0.276, 2.791

: NEW!
function config($file) {
    $r = array();
    foreach(simplexml_load_file($file) as $k => $v) {
        $r[$key] = strval($v);
    }
    return $r;
}

SimpleXML , , . , .


: 0.034, 0.250, 2.369

:
x1  1
x2  2
x3  3

:
function config($file) {
    $r = array();
    if ($F = fopen($file, "r")) {
        while (($line = fgets($F)) !== false) {
            list($k, $v) = explode("\t", $line, 2);
            $r[trim($k)] = trim($v);
        }
        fclose($F);
    }
    return $r;
}

, , . , , parse_ini_file, , . , .

: NEW! 0.036, 0.250, 2.213

: NEW!
function config($file) {
    $r = array();
    foreach (explode("\n", file_get_contents($file)) as $line) {
        list($k, $v) = explode("\t", $line, 2);
        $r[trim($k)] = trim($v);
    }
    return $r;
}

. , , .


: 0.011, 0.041, 0.309

:
a:3:{s:2:"x1";s:1:"1";s:2:"x2";s:1:"2";s:2:"x3";s:1:"3";}

:
function config($file) {
    return unserialize(file_get_contents($file));
}

тАФ .

PHP- define'


: 0.045, 0.252, 2.404

:
<?
define("x1", "1");
define("x2", "2");
define("x3", "3");
?>

, , , . , , define .

JSON- NEW!


: 0.015, 0.057, 0.495

:
{"x1":"1","x2":"2","x3":"3"}

:
function config($file) {
    return json_decode(file_get_contents($file), true);
}

JSON . PHP , INI-, PHP. : , stdClass object.


, тАФ . , . , .

тАФ , . JSON- INI-, , .

, тАФ PHP. , .

XML тАФ . , , .

, define' , .


, ? . , PHP-, . PHP :

: 0.018, 0.046, 0.317

, .

:
function config($file) {
    $file_dat = "$file.dat";
    if (!file_exists($file_dat) || filemtime($file_dat) <= filemtime($file)) {
        $r = include($file);
        if ($F = fopen($file_dat, "w")) {
            fwrite($F, serialize($r));
            fclose($F);
        }
    } else {
        $r = unserialize(file_get_contents($file_dat));
    }
    return $r;
}

, , , , .

P.S. PHP- . , : . , . , PHP 4 5 (, , XML). , .
P.P.S. JSON.
P.P.P.S. . , , - .

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


All Articles