Пример, как можно подключить PHP к генератору HtmlBuilder
Рассмотрим как создать модуль для обработки фрагментов на 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