Пример, как можно подключить 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

Теги документа