Как стать автором
Обновить

Комментарии 22

а где результат посмотреть то?
Так картинка в начале статьи это вы сами нафотошопили или результат работы предложенного механизма?)
Шаблонизатор в данной статье будет лишним…
if(empty($tpl_name) || !file_exists($tpl_name)){
	return false;
} else {
	$this->html = join('',file($tpl_name));
}

file-get-contents() is similar to file(), except that file_get_contents() returns the file in a string, starting at the specified offset up to maxlen bytes. On failure, file_get_contents() will return FALSE.

foreach($this->values as $find => $replace){
	$this->html = str_replace($find, $replace, $this->html);
}

If search and replace are arrays, then str_replace() takes a value from each array and uses them to search and replace on subject. If replace has fewer values than search, then an empty string is used for the rest of replacement values. If search is an array and replace is a string, then this replacement string is used for every value of search. The converse would not make sense, though.
echo $tpl->html;


Тоже не лучший вариант.
А почему не
$this->html = file_get_contents($tpl_name);
$this->html = str_replace(array_keys($this->values), array_values($this->values), $this->html);


?
Ну я про это и говорю, цитируя код автора.
$this->html = strtr($this->html, $this->values);

;)
Вообще супер! :-)
У меня сомнения, относительно практического применения.

Почему просто не «наложить» число на картинку средствами рнр?

Обычно, подобные графические счётчики до 10кб, потому без проблем можно создать 2 «чистые» картинки-шаблона, первая для красивого фона, вторая — для фона счётчика.

В результате адрес картинки типо такой: icon.php?type=email&count=5
Далее смотрим, если file_exists(IMAGE_DIR. 'icon-email-5.png') === false (или jpeg, не суть) — скрипт берёт фон иконки, фон счётчика, пишет нужный номер на счётчик, клеит счётчик на фон и сохраняет как icon-email-5.php.

В итоге объем кода на 20-30 строк, GD есть практически во всех РНР, результаты кэшируются без необходимости каждый раз что-то читать, или парсить, или пересоздавать.

А так как величина счётчиков обычно не больше 15-ти (количество новых емейл-сообщений, комментариев, и т.п.) то всё быстро закэшируется и будет ок.

А можно вообще сделать rewrite через .htaccess и site.name.com/images/icons/email-5.png переводить в site.name.com/icon.php?type=email&count=5 — так вообще красота получится :)
НЛО прилетело и опубликовало эту надпись здесь
Не всегда у всех верстка одинаково отображается :)
image
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
ie7, пользуюсь хромом, но глянуть верстку в пятерке браузеров и нескольких версиях ие — 5 сек, обычная процедура для просмотра верстки.
НЛО прилетело и опубликовало эту надпись здесь
Проехали, статья не о этом, просто показал скрин из осла.
Чего так задело? (Вопрос риторический, отвечать не стоит)
НЛО прилетело и опубликовало эту надпись здесь
Не коим образом не хотел упрекнуть вашим профессиональным качествам в верстке.

Извините, если в таком свете показался этот зловещий скрин :)

* покинул чат
Если мог бы, то яростно плюсанул. Вы просто уделали эту статью :)
Мне кажется, в статье рассказывается о тех случаях, когда нужно именно картинку получить.
В SVG же вроде текст текстом, т.е. по сути получается то же самое, что и при вёрстке, нет?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.