Captain
@Captain

Как подставить параметры при использовании include?

Всем привет! Вот такой вопрос. Нужно мне включить php файл посредством include. Тут вроде все просто.
А сложность вот в чем. Есть в этом файле параметры вида {param1}, {param2}. Вот их при включении этого файла, нужно заменить их на какой-то код, или ссылку или что-то еще. С какого конца браться за эту проблему?

p.s. файл не хотелось бы перезаписывать, параметры могу принимать тот или иной вид.
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 3
$f=file_get_content("file.php");//в $f зачитываем файл, в виде строки
$f=str_replace(
"{param1}",
"на что нужно заменить",
$f
);//заменяем параметры на "какой-то код"
file_put_contents("file.php",$f);// записываем файл
include "file.php";

Лучше этот код описать в каком-то методе, или функции.
Ответ написан
profesor08
@profesor08 Куратор тега PHP
Плохие задачи решаются плохими методами. Имеем массив параметов, имеем массив значений. Получаем текст файла, заменяем параметры на значения и выполняем получившийся код.
$params = array("{param1}", "{param2}");
$values= array("{values1}", "{values2}");
eval(str_replace($params, $values, file_get_contents("file.php")));
Ответ написан
Комментировать
А почему бы просто эти параметры не заменить на обычные переменный, а перед инклудом их инициализировать ?
index.php:
$param1 = 'color: red';
$param2 = 'синхрофазотрон';
include('content.php');


content.php:
<div style="<?php echo($param1);?>">
  <?php echo($param2);?>
</div>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы