аналог smarty, но в 130 раз меньше :)

Статус
В этой теме нельзя размещать новые ответы.

pachanga

Новичок
аналог smarty, но в 130 раз меньше :)

PHP:
<?php
class php_template {
	var $template_dir = '';
	var $file_name = '';

	var $vars = array();

	function php_template() {}
	function assign($name, $value) {
		$this->vars[$name] = $value;
	}
	function set_file_name($name) {
		$this->file_name = $name;
	}
	function set_template_dir($name) {
		$this->template_dir = $name;
	}
	function set_cache_dir($name) {
		$this->cache_dir = $name;
	}
	function parse() {
		$t = array();
		$old_error_reporting = error_reporting(E_ALL & ~(E_WARNING | E_NOTICE));
		ob_start();
		$str = '';
		foreach($this->vars as $var_name => $var_value) {
			$str = "$var_name";
			parse_str($str);
			$t[$var_name] = $var_value;
		}
		$file_name = $this->template_dir.'/'.$this->file_name;

		include($this->template_dir.'/'.$this->file_name);

		$str = ob_get_contents();
		ob_end_clean();
		error_reporting($old_error_reporting);
		return $str;
	}
}
?>
 

tony2001

TeaM PHPClub
сэр изволит издеваться.
посмотрите как-нить на досуге мануал по Смарти и удивитесь его функциональности, даже ее излишкам.
 

RomikChef

Guest
Вы меня извините, но я подредактировал.
читать на два экрана то, что влезает в один - очень неудобно
 

Frol

Новичок
>сэр изволит издеваться.
нет, сэр выложил свою месячную работу :(
[шутка]
 

pachanga

Новичок
Автор оригинала: tony2001
сэр изволит издеваться.
посмотрите как-нить на досуге мануал по Смарти и удивитесь его функциональности, даже ее излишкам.
Ха, народ, да вот он лежит около меня этот самый мануал на 115 страниц, от товарища Змиевского и Орти...да только смысл от использования smarty???
Мы пытаемся в конечном счете ЭМУЛИРОВАТЬ PHP ПРИ ПОМОЩИ smarty, неужели ни у кого из вас не было такого ощущения?!!! ЗАЧЕМ нужны темплейтному механизму все эти навороченные фичи, которые уже есть в PHP изначально, ЗАЧЕМ придумывать колесо?!!
Смотрите на что похож теперь мой шаблон, скажем, для ленты новостей:

PHP:
<?
	$i = 0;
	foreach($t['news_line_data'] as $news):
?>

<TABLE width="100%" border="1" cellspacing="0" cellpadding="8" bordercolor="#CCCCCC">
	<TR>
		<?
		if($i++ % 2):
		?>
		<TD bgcolor="#FF9966">
		<?else:?>
		<TD bgcolor="#FFCC99">
		<?endif?>
		
			<P class="new">
			<SPAN class="newsdate">
			<?=date('Y/m/d', strtotime($news['new_date']))?>
			</SPAN>
			<BR>
			<BR><B><?=$news['title']?></B>
			<BR>
			<BR><?=$news['content']?>
			<BR>
			<BR>
			</P>
		</TD>
	</TR>
</TABLE><BR>

<?
	endforeach;
?>
Думаете на smarty это бы как-то отличалось???
...а уж про скорость я промолчу

Для меня smarty - лучший пример принципа GIGO: garbage in garbage out :) Идея изначально была нелучшая....

Поспорим :) ?
 

RomikChef

Guest
мог бы и поопрятнее сделать.
массив экстрактить, все действия заранее выполнить.
Дата у тебя хранится фиг знает, как.

Вот это все
$i = 0;
<?
if($i++ % 2):
?>
<TD bgcolor="#FF9966">
<?else:?>
<TD bgcolor="#FFCC99">
<?endif?>
Пишется в одну строку.
Желательно все оформить с помощью CSS - тогда дизайнер сможет вообще в код не лазить.


А по сути. У каждой идеи есть свои сторонники и противники.
И всегда останутся.
То есть, ты, конечно, ты можешь спорить, но никакого осмысленного результата ты не получишь.
 

pachanga

Новичок
Дело не в том, какой я сделал шаблон, а в идее вообщее!
Разве в этом нет доли истины?
 

pachanga

Новичок
И кстати, шаблон был так сделан "не в одну строку", чтобы дизайнер четко видел html код.
Я был бы очень рад, если бы кто-то высказал свои аргументы в пользу smarty...
И еще, по-моему, изначально вопрос задавался в разделе для профессионалов...или мне это кажется?
 

RomikChef

Guest
Разве в этом нет доли истины?
есть.
разделе для профессионалов...
Этот раздел не для переливания из пустого в порожнее и священных войн виндовоз пртив линух.
И то и другое имеет право на жизнь, подтвержденное временем.
Хочешь аргументов? В поиск.
 

pachanga

Новичок
м-да, я думал, что PHP club более либеральное место :(
чего уж там этот вопрос сразу можно в offtop кидать, имея чуть большие полномочия...
 

tony2001

TeaM PHPClub
>м-да, я думал, что PHP club более либеральное место
>чего уж там этот вопрос сразу можно в offtop кидать, имея чуть
>большие полномочия...
тебе на RICN.ru надо.
там будешь затевать священные войны типа "PHP vs ASP", "Smarty vs доморощенный скрипт" и др.
если ты не понимаешь смысла шаблонного движка - так и скажи.
не стоит говорить, что это "колесо", "велосипед" и др.
дочитай ман по Смарти до конца и узнай много нового.
например, о достаточно продвинутом механизме избирательного кэширования, а также о других его фичах.
 

ANDRY-2

Guest
от такого шаблона дизайнер в жизни непритронется к нему, толи дело так:

{title} - заголовок
{date} - дата
{text} - текст

и дизайнеру понятно и php код в отделно
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху