Ben inanılmaz derecede popüler olmuştur ve ben ünlü ve zengin hale umuyoruz PHP bir web uygulaması geliştirmek için başlıyorum. :-)
O zaman gelirse, SimpleXML ile XML olarak API verilerini ayrıştırmak için veya json_decode kullanmak ister benim kararım uygulamanın ölçeklenebilirlik bir fark yaratabilir.
Herkes sunucu için daha verimli bu yaklaşımlardan hangisinin biliyor mu?
Update: Ben yöntem daha performanslı olduğu görmek için bir ilkel testi koştu. Bu json_decode
biraz daha hızlı bir yürütme simplexml_load_string
fazla olduğu görülmektedir. Bu eşzamanlı süreçler ölçeklenebilirlik gibi şeyleri test değil çünkü bu korkunç kesin değildir. Benim sonuç Çünkü XPath ifadeleri için verdiği destek olmanın kez SimpleXML ile gidecek olmasıdır.
<?php
$xml = file_get_contents('sample.xml');
$json = file_get_contents('sample.js');
$iters = 1000;
// simplexml_load_string
$start_xml = microtime(true);
for ($i = 0; $i < $iters; ++$i) {
$obj = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
}
$end_xml = microtime(true);
// json_decode
$start_json = microtime(true);
for ($i = 0; $i < $iters; ++$i) {
$obj = json_decode($json);
}
$end_json = microtime(true);
?>
<pre>XML elapsed: <?=sprintf('%.4f', ($end_xml - $start_xml))?></pre>
<pre>JSON elapsed: <?=sprintf('%.4f', ($end_json - $start_json))?></pre>
Sonuç:
XML elapsed: 9.9836
JSON elapsed: 8.3606