Я пишу сайт с нуля для удовольствия (как начинающий веб-разработчик, пришедший из C ++), и я заметил, что многие мои страницы имеют одинаковый код; 95% на самом деле. Поэтому я хотел создать функцию в PHP, чтобы минимизировать избыточный код внутри моего проекта веб-сайта. Аналогично тому, как мы делаем функцию на любом другом языке, c ++, java; и т.д., я хочу сделать функцию, которая передает параметры в вызываемый файл php для записи конкретной веб-страницы.
Это код, который я хочу, чтобы отдельные страницы выглядели так. Вместо того, чтобы иметь более 100 строк одного и того же кода в нескольких файлах, я хотел просто сделать что-то вроде этого и передать его в файл template.php, чтобы сделать его более эффективным и меньшим по размеру (менее избыточный код).
$title = "Example_Title";
$author = "Example_Author";
$date = "January 1, 1999";
$article = "Example_Body";
include('template.php');
setDependencies($title, $author, $date, $article);
И это шаблон, который я хотел использовать, где я передаю значения, устанавливаю их, а затем использую его в html-коде под объявленным PHP.
<?php
$this_title = "";
$this_author = "";
$this_date = "";
$this_article = "";
function setDependencies($title, $author, $date, $article){
$this_title = $title;
$this_author = $author;
$this_date = $date;
$this_article = $article;
}
?>
<body>
<p>Written by <?php $this_author ?> on <?php $this_date ?></p>
</body>
Код, «написанный ...» внутри тега body - это просто строка кода, которую я использовал, чтобы увидеть, будет ли это отображаться после вызова (включения), но в итоге он написал «Написано на».
Я понял, что главная проблема с этим заключалась в том, что функция include ('template.php') включала все данные из template.php, а затем выполнила setDependencies (), поэтому вызов функции ничего не сделал.
Я попытался включить template.php дважды, первый для включения setDependencies (), второй для выполнения html, но это дало ошибку, так как он дважды объявил setDependencies, и веб-сайту это не понравилось. Я также попытался создать три файла вместо двух, где я объявил значения title, author, date и article и перенес его во второй файл, где третий файл вызывает его для значений, необходимых в части html, где я затем вызвал его внутри первого файла, но это привело к тому же самому результату ошибки вызова той же функции в миллионы раз.
Любая помощь будет высоко ценится! Спасибо!