Шаблонизатор Fenom | Помощь в освоении

2.19K
.
The Frontend-Warrior
Структура файлов в "проекте":
/
cache/
src/
|--Fenom/
|----........
|--Fenom.php
templates/
|--index.tpl
index.php



index.php
<?php
require_once 'src/Fenom.php';

\Fenom::registerAutoload();

$fenom = Fenom::factory(__DIR__.'/template', __DIR__.'/cache', Fenom:ISABLE_CACHE ); 


$fenom->display("index.tpl", array(
  'title' => 'Заголовок страницы',
  'name' => 'Вася Пупкин' 
));
?>


templates/index.tpl
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>{$title}</title>
</head>
<body>
  Привет, {$name}!!!
</body>
</html>



как-то так
.
Сексуальность валенка
MyZik, У меня такаяже проблема
И не раз пытался освоить но там попробуй розберись, решил писать по обычному, щас себе самопис пилю а эти фреймыорки как по мне вообще замедляют работу сайта Гг
.
Сексуальность валенка
Blade, Какой-то гемор как по мне
.
The Frontend-Warrior
Swank, Почему гемор? Любой шаблонизатор так работает
.
The Fast, Secure and Professional - Yii2
# Swank (21.08.2014 / 20:39)
а эти фреймыорки как по мне вообще замедляют работу сайта Гг
Замедляют,но в то же время ускоряют и облегчают в много раз разработку,если конечно хорошо разобраться
.
The Frontend-Warrior
# Swank (21.08.2014 / 20:39)
вообще замедляют работу сайта Гг
что мешает использовать кэширование?
.
Сексуальность валенка
Blade, Как кеш вообще работает, а то не имею понятия, он после исполнения пхп заносит хтмл страницу в кеш, а в следуйщий раз с кеша берет или как?
.
The Frontend-Warrior
Swank, типа того. на примере фенома. шаблон "компилируется" в нечто подобное: index.tpl.52b2d4c7.e.php
<?php 
/** Fenom template 'index.tpl' compiled at 2014-08-21 18:07:47 */
return new Fenom\Render($fenom, function ($var, $tpl) {
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><?php
/* index.tpl:5: {$title} */
 echo $var["title"]; ?></title>
</head>
<body>
Привет, <?php
/* index.tpl:8: {$name} */
 echo $var["name"]; ?>!!!
</body>
</html><?php
}, array(
'options' => 1024,
'provider' => false,
'name' => 'index.tpl',
'base_name' => 'index.tpl',
'time' => 1408637177,
'depends' => array (
  0 => 
  array (
    'index.tpl' => 1408637177,
  ),
),
'macros' => array(),

        ));

и потом используется уже этот готовый шаблон, а не собирается заново
.
Сексуальность валенка
Rakovskiy, Ну для меня это гемор потому что я немогу что-то писать когда низнаю как все работает, а в шаблонизаторе я разобраться не смогу так как ООП я знаю не на отлично, и посмотрев на пример я могу сказать вот что: синтаксис измененный который нужно изучать, и в начале какой-то код не понятный
И вот например хочу я подключиться к базе но попростому я так понимаю нельзя это ж фреймворк Гг тут есть спец. Клас или ещё ченить
Мне намного легче написать свой код вот пример из моего самописа(только начал писать)
<?php
require('inc/core.php');
$pn='home';
head('Добро пожаловать на '.$set['url'].'!');

$arr = mysql_fetch_array(mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 1"));
echo '
<div class="news">Последняя новость сайта</div>
<div class="main">
<div class="title"><b>' . $arr['title']. '</b></div><div class="main2">' .$arr['text'] .
'</div><div class="small">Автор: ' . $arr['author'] .
', ' . disp_date($arr['time']) . '</div>
<div style="text-align: right">
<a href="news" class="cmain">Все новости</a></div>
</div>
</div>

<div class="razd"><b>Общение</b></div>

<a href="/" class="menu">» Новости проекта <span class="count">' . disp_date($arr['time']) . '</span></a></div>
<div class="auth">
<form action="">
<input type="text" placeholder=" Что ищем?">
<input type="submit" value="Искать">
</form>
</div>';

foot($pn);
?>

И ещё если я в этом фреймворке покопаюсь попробую ченить под себя изменить и допущу ошибку я ж её потом фиг найду
.
Сексуальность валенка
# Blade (21.08.2014 / 21:07)
Swank, типа того. на примере фенома. шаблон "компилируется" в нечто подобное: index.tpl.52b2d4c7.e.php
[php]<?php
/** Fenom template 'index.tpl' compiled at 2014-08-21 18:07:47 */
return new Feno
Ну как я и говорил гемор а если я например изменил скрипт, точней тпл этот то мне надо кеш чистить?
Всего: 52