Встраивание PHP в XML

Я пытаюсь выполнить PHP-код в XML. Ниже приведен код, который лучше всего работает, поскольку мы используем eval и далеко, поскольку я знаю, что он ухудшает производительность 80-85%, поскольку он должен использоваться браузером.

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

Solutions Collecting From Web of "Встраивание PHP в XML"

«Если eval () – ответ, вы почти наверняка задаете неправильный вопрос».
-Rasmus Lerdorf, BDFL PHP


Является ли код, который вы используете, настолько разнообразным, что его нельзя решить, поскольку ряд файлов, которые будут включены по запросу или вызов функции стиля XML-RPC? В целом, очень мало, чтобы получить возможность произвольного выполнения кода, и это до того, как вы рассмотрите ошеломляющую сумму, которую вы проиграете.

Если есть конечное, предсказуемое количество вещей, которые могут сделать эти файлы, я бы настоятельно рекомендовал потратить время на создание полу-общего интерфейса XML-RPC (или, по крайней мере, ряд файлов, которые вы могли бы указать в файле XML и затем включить «на лету», возможно, после установки некоторых переменных среды, в зависимости от стиля кодирования) и с помощью этого.

Количество рисков, которые вы принимаете при создании портала для eval() , несметное количество.

Я рассмотрел некоторые примеры здесь, но XML-RPC должен быть достаточно известной концепцией, что мое выполнение совершенно необязательно.

eval (), к сожалению, на самом деле является единственным способом его выполнения.

Если …

Если код в XML выполняется несколько раз. например, у вас есть набор из 6 XML-файлов, содержащих код, вроде системы плагинов.

Если это так, вы можете прочитать код из xml, записать его в .php-файл, а затем включить его. Это было бы медленнее, но если вы это сделаете, вам нужно сделать это только один раз в XML-файле. После этого вы можете просто запустить чистые php-файлы.

И, да, как и все остальные, вы не можете доверять ненадежный код (duh)

Для понимания использования «Встраивания PHP в XML» см. http://code.google.com/p/smallest-php-xml-xsl-framework/

Это полное приложение с XML + PHP (PHP генерирование XML) и XSLT в качестве системы шаблонов. В архитектуре MVC XML + PHP выполняет обработку «MVC-Model» и XSLT MVC-View.