Pokusavam da napravim klasu da pozivanje templatea da odvojim php od html, medjutim nailazim na jedan problem klasa loada html template ali nece da mi prikazuje varijable iz php-a u html-u
Ovako to izgleda imam folder “templates” tu se nalazi naprimjer contact.html, u root folderu imam contact.php
Sve ide preko index.php
Evo kod da vidite index.php
<?php
error_reporting(E_ALL);
/**
* class that loads html template into php file
*/
class loadTemp
{
function load_template($template, $ext='html', $calledfrom='root')
{
$templatefolder = 'templates';
if ($calledfrom=='root')
{
return str_replace("\"", "\\\"", file_get_contents($templatefolder.'/'.$template.'.'.$ext));
}
}
}
$html = new loadTemp();
?>
<!DOCTPYE html>
<html lang="en">
<head>
<title></title>
<head/>
<body>
<h1>Header</h1>
<hr />
<div id="nav">
<a href="index.php">Home</a> |
<a href="index.php?page=contact">Contact</a>
</div>
<hr />
<?php
if (isset($_GET['page'])) {
$page = $_GET['page'].'.php';
if(file_exists($page)) {
include $page;
} else { echo '<p>That page doesn\'exists.</p>'; }
} else { include 'home.php'; }
?>
<hr />
<div id="footer">
<p>© 2015 Site name</p>
</div>
</body>
</html>
ovo je contact.php u root folderu
<?php
$broj = '10';
// pozovi template
$contact = $html->load_template('contact');
echo $contact;
?>
i ovo je contact.html u templates folderu
<h1>Contact</h1>
$broj
E sad me zanima kako da ova varijabla $broj prikaze 10 iz contact.php-a. Znaci pravim formu samo u html-u a u php-u je samo radnja, i molim vas nemojte mi o template enginima jer sam probo skoro sve i odvratni su a nisam jos tolko iskusan da radim OOP i u nekom frameworku. Samo zelim rjesenje ove solucije ako postoji i da radi na trenutnoj verziji php-a +.