#1 2010.08.01 01:10

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Шаблонизаторы

всем привет, давно тут не был.
Решил разбавить залежавшийся мозг новой информацией.
// на говновапе некропостят
Какие сейчас популярные, и практичные шаблонизаторы?
Используете ли свои наработки?
Если да, то, по каким причинам понадобилось писать под себя?
Мир MVC Для меня пока нов, но хочу попробовать использовать его в своих проектах


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#2 2010.08.01 09:31

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Шаблонизаторы

Поставил smarty - 0.06 - генерация пустой страницы - выбросил нафиг.
Поставил xtemplate - тормознутый и не удобный.
Поставил twig - нормальной документации нету.
Написал свой smile, так сказать нативный шаблонизатор, обычные шаблоны с <?php ?> вставками, мне не понравилось, лучше использовать альтернативный синтаксис PHP.

Неактивен

#3 2010.08.01 09:39

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Шаблонизаторы

"нативный" что значит?
Альтернативный синтаксис?


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#4 2010.08.01 10:33

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Шаблонизаторы

#3, нативный - native - родной.
Ну альтернативный тоже как родной, так что.... smile

Отредактировано Fuelen (2010.08.01 10:33)


на хую вас вертів

Неактивен

#5 2010.08.01 21:47

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Шаблонизаторы

Fuelen написал:

#3, нативный - native - родной.
Ну альтернативный тоже как родной, так что.... smile

А ты чем пользуешься?
Да, и, Gemorroj, а ты чем?


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#6 2010.08.02 10:12

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Шаблонизаторы

5, пэхэпэшным синтаксисом пока что))
Вот здесь примеры аццких шаблонизаторов http://visavi.net/forum/topic.php?tid=12017
Добавлено спустя   3 минуты  6 секунд:
http://phpcodes.ru/code112.html вот моя наброска


на хую вас вертів

Неактивен

#7 2010.08.02 10:19

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Шаблонизаторы

Когда как. Если шаблонизатором, то Smarty. Не потому что он такой крутой, просто по привычке)

Неактивен

#8 2010.08.04 17:39

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Шаблонизаторы

а велосипедами пользуется кто-нибудь?


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#9 2010.08.04 21:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Шаблонизаторы

Код:

1
span style="color: #0000BB"><?php/** * @author Gemorroj * @copyright 2010 */class DB_MySQL{ /** * Объект Bootstrap */ public $Bootstrap; /** * Ресурс соединения с БД */ private $_link; /** * Конструктор * * @param object $Bootstrap */ public function __construct (Bootstrap $Bootstrap) { $this->Bootstrap = $Bootstrap; } /** * Соединяемся с БД * * @param string $host * @param string $user * @param string $pass * @param string $db */ public function connect ($host, $user, $pass, $db) { $this->_link = mysql_connect($host, $user, $pass) or die('Error connect to DB'); mysql_select_db($db, $this->_link); mysql_unbuffered_query('SET NAMES `utf8`', $this->_link); } /** * Экранирование * * @param string $str * @return string */ public function escape ($str) { return mysql_real_escape_string($str, $this->_link); } /** * Экранирование таблиц * * @param string $str * @return string */ public function escapeTable ($str) { return str_replace('`', '``', $str); } /** * Экранирование для оператора LIKE * * @param string $str * @return string */ public function escapeLike ($str) { return str_replace(array('%', '_'), array('\%', '\_'), mysql_real_escape_string($str, $this->_link)); } /** * Старт транзакци * * @return bool */ public function transactionStart () { return (bool)$this->query('START TRANSACTION;'); } /** * Коммит транзакци * * @return bool */ public function transactionCommit () { return (bool)$this->query('COMMIT;'); } /** * Роллбэк транзакци * * @return bool */ public function transactionRollback () { return (bool)$this->query('ROLLBACK;'); } /** * ID вставленной строки * * @return int */ public function insertId () { return mysql_insert_id($this->_link); } /** * Текст ошибки * * @return string */ public function error () { return mysql_error($this->_link); } /** * Запрос * * @param string $sql * @return resource */ public function query ($sql) { return mysql_query($sql, $this->_link); } /** * затронутые строки после INSERT, UPDATE, DELETE и т.д. * * @return int */ public function affectedRows () { return mysql_affected_rows($this->_link); } /** * затронутые строки после SELECT * * @param resource $res * @return int */ public function numRows ($res) { return mysql_num_rows($res); } /** * Результат запроса * * @param resource $res * @param int $row * @param mixed $field * @return string */ public function result ($res, $row = 0, $field = 0) { return @mysql_result($res, $row, $field); } /** * Результат запроса с одной записью * * @param resource $res * @return array */ public function fetchAssocRow ($res) { if ($res && $this->numRows($res)) { return mysql_fetch_assoc($res); } return array(); } /** * Результат запроса с многими записями * * @param resource $res * @return array */ public function fetchAssoc ($res) { $tmp = array(); if ($res && $this->numRows($res)) { while ($row = mysql_fetch_assoc($res)) { $tmp[] = $row; } } return $tmp; }}?>

Неактивен

#10 2010.08.14 02:58

aluka
Участник
Зарегистрирован: 2010.08.14
Сообщений: 7
Карма: 0
Профиль

Re: Шаблонизаторы

Gemorroj написал:

Код:

1
span style="color: #0000BB"><?php/** * @author Gemorroj * @copyright 2010 */class DB_MySQL{ /** * Объект Bootstrap */ public $Bootstrap; /** * Ресурс соединения с БД */ private $_link; /** * Конструктор * * @param object $Bootstrap */ public function __construct (Bootstrap $Bootstrap) { $this->Bootstrap = $Bootstrap; } /** * Соединяемся с БД * * @param string $host * @param string $user * @param string $pass * @param string $db */ public function connect ($host, $user, $pass, $db) { $this->_link = mysql_connect($host, $user, $pass) or die('Error connect to DB'); mysql_select_db($db, $this->_link); mysql_unbuffered_query('SET NAMES `utf8`', $this->_link); } /** * Экранирование * * @param string $str * @return string */ public function escape ($str) { return mysql_real_escape_string($str, $this->_link); } /** * Экранирование таблиц * * @param string $str * @return string */ public function escapeTable ($str) { return str_replace('`', '``', $str); } /** * Экранирование для оператора LIKE * * @param string $str * @return string */ public function escapeLike ($str) { return str_replace(array('%', '_'), array('\%', '\_'), mysql_real_escape_string($str, $this->_link)); } /** * Старт транзакци * * @return bool */ public function transactionStart () { return (bool)$this->query('START TRANSACTION;'); } /** * Коммит транзакци * * @return bool */ public function transactionCommit () { return (bool)$this->query('COMMIT;'); } /** * Роллбэк транзакци * * @return bool */ public function transactionRollback () { return (bool)$this->query('ROLLBACK;'); } /** * ID вставленной строки * * @return int */ public function insertId () { return mysql_insert_id($this->_link); } /** * Текст ошибки * * @return string */ public function error () { return mysql_error($this->_link); } /** * Запрос * * @param string $sql * @return resource */ public function query ($sql) { return mysql_query($sql, $this->_link); } /** * затронутые строки после INSERT, UPDATE, DELETE и т.д. * * @return int */ public function affectedRows () { return mysql_affected_rows($this->_link); } /** * затронутые строки после SELECT * * @param resource $res * @return int */ public function numRows ($res) { return mysql_num_rows($res); } /** * Результат запроса * * @param resource $res * @param int $row * @param mixed $field * @return string */ public function result ($res, $row = 0, $field = 0) { return @mysql_result($res, $row, $field); } /** * Результат запроса с одной записью * * @param resource $res * @return array */ public function fetchAssocRow ($res) { if ($res && $this->numRows($res)) { return mysql_fetch_assoc($res); } return array(); } /** * Результат запроса с многими записями * * @param resource $res * @return array */ public function fetchAssoc ($res) { $tmp = array(); if ($res && $this->numRows($res)) { while ($row = mysql_fetch_assoc($res)) { $tmp[] = $row; } } return $tmp; }}?>

mojno odzin xoroshi primer kak rabotaet etot class? chtobi vse funqcii bili poniatni... izvini za takie ruski, ni znaiu xorosho

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.015 s