Рассмотрим как создать модуль для обработки фрагментов на PHP в генераторе.Во-первых, нам понадобится установить интерпретатор php, который должен быть доступен из командной строки. Во-вторых, создадим небольшое консольное приложение konsole.php
<?php $file_input = file_get_contents(__DIR__ . "/phpx.inp"); copy("phpx.inp", "script.php"); ob_start(); require( __DIR__ . "/script.php"); unlink(__DIR__ . "/script.php"); $result = ob_get_contents(); ob_end_clean(); $fh = fopen( __DIR__ . "/phpx.out", "w"); fwrite($fh, $result); fclose($fh); //unlink(__DIR__ . "/phpx.inp"); ?>Смысл этого кода в том, чтобы прочитать входной файл, сделать копию в виде скрипта с расширением php. Затем мы открываем буфер на запись, подключаем скрипт на выполнение, результат выполнения запоминаем в переменную, буфер закрываем, записываем буфер в выходной файл. Следующий шаг - сделаем небольшой выполняемый бинарник на языке C++
#include <cstdlib> int main(){ std::system("php konsole.php"); }Его задача просто вызвать интерпретатор, чтобы тот исполнил консольное приложение. Скомпилируем бинарник
gcc phpx.cpp -o phpxТеперь откроем генератор и внесем программу на php внутри тегов phpx В результате команда отработает и будет выведено сообщение, которое заместит собой все между phpx Теги документа