XML PHP katıştırma

3 Cevap php

Biz eval ve çok kullanıyor gibi ben tarayıcı tarafından kullanılacak olması gerekiyordu gibi Performansın 80-85% aşağılamak biliyorum ben Aşağıda XML PHP kodu çalıştırmak için çalışıyorum kod yürütme daha iyi bir yolu yoktur.

function processing_instruction($inParser, $inTarget, $inCode) {
if ($inTarget === 'php') {
eval($inCode);
}
}

3 Cevap

"If eval() is the answer, you're almost certainly asking the wrong question."
-Rasmus Lerdorf, BDFL of PHP


Kodu bu talep veya bir XML-RPC tarzı işlev çağrısı dahil edilecek dosyaları bir dizi olarak karar olamaz böylece çeşitli çalışan mı? Orada keyfi kod çalıştırılmasına izin vererek kazanmak için çok az genellikle, ve sen kaybetmek standı şaşırtıcı miktarda düşünmeden önce o.

Bu dosyalar muhtemelen yapabileceği şeyler sınırlı, öngörülebilir sayı varsa, ben Strongly yarı-genel XML-RPC arabirimini (ya da yapabildin dosyalardan en az bir dizi oluşturmak için zaman ayırdığınız tavsiye ederim XML dosyasında belirtin ve daha sonra belki de kodlama stili bağlı olarak bazı çevre değişkenleri,) ayarı ve kullandıktan sonra, on-the-fly içerir.

Bir portal oluşturmak zaman alır riskleri sayısı eval() sayısız yakın bulunmaktadır.

Ben benim bunu yaparken tamamen gereksiz olduğunu XML-RPC ought to be a well enough known concept Burada bazı örnekler vererek, ama kabul etmişti.

eval () ne yazık ki, aslında bunu çalıştırmak için tek yoldur.

SÜRECE ...

XML kodu yürütülen alırsa kereden fazla. Örneğin ne tür bir eklenti sistemi gibi, kodu içeren 6 Xml dosyaları bir dizi var.

Bu durumda ise, sen xml dışarı kodunu oku. Php dosyaya yazmak, o içerebilir. Emin için yavaş olabilir, ama eğer sadece XML dosyasına bir kez bunu yapmak zorunda olacaktır. Bundan sonra sadece saf php dosyalarını çalıştırabilirsiniz.

Herkesin dediği gibi Ve, evet, sen (duh) güvenilmez kod güvenemem

Için "XML gömülmesi PHP" kullanılmasını görmek http://code.google.com/p/smallest-php-xml-xsl-framework/ anlamak

Bu XML + PHP (PHP üreten XML) ve şablon sistemi olarak XSLT ile tam bir uygulamadır. MVC mimarisinde XML + PHP "MVC-Modeli işleme" yapmak ve MVC-View XSLT.