Вызов функции из переменной - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Sun, 12 Jan 2025 10:42:35 +0300<blockquote class="blockquote"><strong>ramzes</strong> (3 Августа 2011 / 14:10)<br>
54. <strong>Джикинайс</strong>, зачем? это же двойная работа, шаблон компилишь в файл, потом еще раз его компилишь в файл?<br>
или мы совсем о разном? %) я сегодня не выспался совсем</blockquote>
мы о разном =)
https://visavi.net/topics/23706/401492
Вызов функции из переменной Nu3oNWed, 03 Aug 2011 15:00:06 +0400Сообщенияhttps://visavi.net/topics/23706/40149254. <strong>Джикинайс</strong>, зачем? это же двойная работа, шаблон компилишь в файл, потом еще раз его компилишь в файл?<br>
или мы совсем о разном? %) я сегодня не выспался совсем
https://visavi.net/topics/23706/401471
Вызов функции из переменной ramzesWed, 03 Aug 2011 14:10:17 +0400Сообщенияhttps://visavi.net/topics/23706/401471<blockquote class="blockquote"><strong>ramzes</strong> (3 Августа 2011 / 12:40)<br>
хм...<br>
ob_start(); <br>
$this->_unpackData(); // разворачивание массива с данными<br>
$this->_parseTPL(); // проверка кеша, создание нового при необходимости, подключение <br>
ob_end_flush();<br>
в чем разница? или я чего то не уловил? (на ошибки не смотри, я щас на работе сижу, на память не воспроизведу точно)</blockquote>
в твоем примере все сразу выводится, а мне необходимо сохранять это все в файл =)
https://visavi.net/topics/23706/401456
Вызов функции из переменной Nu3oNWed, 03 Aug 2011 13:14:24 +0400Сообщенияhttps://visavi.net/topics/23706/401456<pre class="prettyprint">
<?php
interface inTemplate
{
/**
* assign
*
* Установка переменных, доступных в шаблоне.
*
* @param string $var Имя переменной.
* @param mixed $key Значение переменной.
**/
static function assign($var, $key);
/**
* _searchVar
*
* Поиск переменных в конструкциях.
*
* @param string $str Код шаблона.
* @return string
**/
static function _searchVar($str);
/**
* _parseVar
*
* Обработка переменных в шаблоне.
*
* @param string $str Код шаблона.
* @return string
**/
static function _parseVar($str);
/**
* _parseTpl
*
* Обработка шаблона.
*
* @param string $tpl Путь к шаблону.
* @param string $fileComp Путь к компилятору.
* @return string
**/
static function _parseTpl($tpl, $fileComp);
/**
* _saveComp
*
* Сохранение скомпилированого шаблона.
*
* @param string $str Код шаблона.
* @param string $fileComp Путь к компилятору.
* @return bool
**/
static function _newComp($str, $fileComp);
/**
* _saveCache
*
* Сохранение кеша.
*
* @param string $str Строка для сохранения.
* @param string $fileCache Путь к файлу кеша.
* @return bool
**/
static function _saveCache($str, $fileCache);
/**
* _isComp
*
* Проверка существования скомпилированого шаблона.
*
* @param string $tpl Путь к шаблону.
* @param string $fileComp Путь к компилятору.
* @return bool
**/
static function _isComp($tpl, $fileComp);
/**
* display
*
* Вывод шаблона.
*
* @param string $tpl Путь к шаблону.
**/
static function display($tpl);
}
</pre>
https://visavi.net/topics/23706/401452
Вызов функции из переменной Nu3oNWed, 03 Aug 2011 13:00:35 +0400Сообщенияhttps://visavi.net/topics/23706/401452хм...<br>
ob_start(); <br>
$this->_unpackData(); // разворачивание массива с данными<br>
$this->_parseTPL(); // проверка кеша, создание нового при необходимости, подключение <br>
ob_end_flush();<br>
в чем разница? или я чего то не уловил? (на ошибки не смотри, я щас на работе сижу, на память не воспроизведу точно)
https://visavi.net/topics/23706/401435
Вызов функции из переменной ramzesWed, 03 Aug 2011 12:40:10 +0400Сообщенияhttps://visavi.net/topics/23706/401435<blockquote class="blockquote"><strong>ramzes</strong> (3 Августа 2011 / 12:14)<br>
49. <strong>Джикинайс</strong>, а зачем буфферизацию?</blockquote>
<pre class="prettyprint"><?php
ob_start();
Template :: parse($tpl);
$a = ob_get_clean();
Template :: saveCache($a);
?></pre>
И потом подгружение кеша вместо обработки и вывода шаблона =)<br>
В общем типичный кеш))))
https://visavi.net/topics/23706/401429
Вызов функции из переменной Nu3oNWed, 03 Aug 2011 12:30:20 +0400Сообщенияhttps://visavi.net/topics/23706/40142949. <strong>Джикинайс</strong>, а зачем буфферизацию?
https://visavi.net/topics/23706/401424
Вызов функции из переменной ramzesWed, 03 Aug 2011 12:14:42 +0400Сообщенияhttps://visavi.net/topics/23706/40142448. <strong>ramzes</strong>, ну я чуть чуть поравил, изменил синтаксис, сделал как на TWIG'е, добавил буферизацию для кеша статических шаблонов и сделал подробный контроль над шаблонизатором для отладки)))
https://visavi.net/topics/23706/401423
Вызов функции из переменной Nu3oNWed, 03 Aug 2011 12:11:57 +0400Сообщенияhttps://visavi.net/topics/23706/40142345. <strong>eGo Отвертка в ухе</strong>, что значит "настроить кеширование"?<br>
нет ни каких псевдо языков. мы же не про смарти говорим<br>
а такие субметки как {if} {else} {foreach =} не требуют изученмя, просто переведите их с английского =) (for each)<br>
<br>
<em><span style="font-size:x-small">Добавлено через 08:50 сек.</span></em><br>
46. <strong>Джикинайс</strong>, не менял =) я за год лучшего варианта так и не предумал
https://visavi.net/topics/23706/401414
Вызов функции из переменной ramzesWed, 03 Aug 2011 11:54:30 +0400Сообщенияhttps://visavi.net/topics/23706/40141446. <strong>Джикинайс</strong>, ну это не так критично я думаю уже.<br>
повторюсь, лучше чем изобретение псеводязыка
https://visavi.net/topics/23706/401413
Вызов функции из переменной KOZZWed, 03 Aug 2011 11:53:27 +0400Сообщенияhttps://visavi.net/topics/23706/401413<blockquote class="blockquote"><strong>eGo Отвертка в ухе</strong> (3 Августа 2011 / 10:58)<br>
42. <strong>Джикинайс</strong>, ну в документации к xtemplate видел подобный пример, надеюсь кэшируют<br>
там кстати еще дополнительный класс для кэширования, надо будет изучить <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> </blockquote>
В любом случае обработка произойдет, работа над кешем тоже какое то время занимает =) у меня все гораздо проще думаю так же и у рамзеса если он логику не менял =)
https://visavi.net/topics/23706/401410
Вызов функции из переменной Nu3oNWed, 03 Aug 2011 11:49:23 +0400Сообщенияhttps://visavi.net/topics/23706/40141044. <strong>ramzes</strong>, ну да, в этом ты прав.<br>
но имхо, если в шаблонизаторе настроить кэширование, то такой подход в разы лучше чем эдакие псевдоязыки в шаблоне.
https://visavi.net/topics/23706/401406
Вызов функции из переменной KOZZWed, 03 Aug 2011 11:41:37 +0400Сообщенияhttps://visavi.net/topics/23706/401406<blockquote class="blockquote"><strong>Джикинайс</strong> (3 Августа 2011 / 09:20)<br>
38. <strong>ramzes</strong>, видел и таких умельцев :-) например dcms где фигачат так <br>
<pre class="prettyprint"><?php
while ($var = $var->fetch()) {
$template -> var = $var;
$template -> display('template');
}
?></pre></blockquote>
но комментс.. дцмс как был так и остается, пособием по ***коду<br>
<br>
<em><span style="font-size:x-small">Добавлено через 01:39 сек.</span></em><br>
<blockquote class="blockquote"><strong>eGo Отвертка в ухе</strong> (3 Августа 2011 / 09:26)<br>
39. <strong>Джикинайс</strong>, хм, а почему бы и нет?<br>
<br>
<em><span style="font-size:x-small">Добавлено через 00:47 сек.</span></em><br>
какая разница - что там цикл с фетчем и выводом, что тут.</blockquote>
одно дело цикл как цикл вывода инфы, другое дело шаблонизатор в цикле ради все того же вывода инфы
https://visavi.net/topics/23706/401403
Вызов функции из переменной ramzesWed, 03 Aug 2011 11:24:39 +0400Сообщенияhttps://visavi.net/topics/23706/40140342. <strong>Джикинайс</strong>, ну в документации к xtemplate видел подобный пример, надеюсь кэшируют<br>
там кстати еще дополнительный класс для кэширования, надо будет изучить <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile">
https://visavi.net/topics/23706/401389
Вызов функции из переменной KOZZWed, 03 Aug 2011 10:58:33 +0400Сообщенияhttps://visavi.net/topics/23706/401389<blockquote class="blockquote"><strong>eGo Отвертка в ухе</strong> (3 Августа 2011 / 09:26)<br>
39. <strong>Джикинайс</strong>, хм, а почему бы и нет?<br>
<br>
<em><span style="font-size:x-small">Добавлено через 00:47 сек.</span></em><br>
какая разница - что там цикл с фетчем и выводом, что тут.</blockquote>
там вот именно будет только работа с циклом, а в примере что я привел выше будет еще и обработка шаблона, а шаблоны везде обрабатываются по разному, и хорошо если при первом проходе цикла все занесется в кеш)))
https://visavi.net/topics/23706/401388
Вызов функции из переменной Nu3oNWed, 03 Aug 2011 10:53:22 +0400Сообщенияhttps://visavi.net/topics/23706/401388