Вы не зашли.
Главная » PHP » Шаблонизаторы
#1. Morgan Off (10)
Участник
2010.08.01 01:01
всем привет, давно тут не был.
Решил разбавить залежавшийся мозг новой информацией.
// на говновапе некропостят
Какие сейчас популярные, и практичные шаблонизаторы?
Используете ли свои наработки?
Если да, то, по каким причинам понадобилось писать под себя?
Мир MVC Для меня пока нов, но хочу попробовать использовать его в своих проектах
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#2. ByVlad Off (1)
Участник
2010.08.01 09:09
Поставил smarty - 0.06 - генерация пустой страницы - выбросил нафиг.
Поставил xtemplate - тормознутый и не удобный.
Поставил twig - нормальной документации нету.
Написал свой smile, так сказать нативный шаблонизатор, обычные шаблоны с <?php ?> вставками, мне не понравилось, лучше использовать альтернативный синтаксис PHP.
#3. Morgan Off (10)
Участник
2010.08.01 09:09
"нативный" что значит?
Альтернативный синтаксис?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#4. Fuelen Off (5)
Участник
2010.08.01 10:10
#3, нативный - native - родной.
Ну альтернативный тоже как родной, так что.... smile
Отредактировано Fuelen (2010.08.01 10:10)
на хую вас вертів
#5. Morgan Off (10)
Участник
2010.08.01 21:09
Fuelen написал:
#3, нативный - native - родной.
Ну альтернативный тоже как родной, так что.... smile
А ты чем пользуешься?
Да, и, Gemorroj, а ты чем?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#6. Fuelen Off (5)
Участник
2010.08.02 10:10
5, пэхэпэшным синтаксисом пока что))
Вот здесь примеры аццких шаблонизаторов http://visavi.net/forum/topic.php?tid=12017
Добавлено спустя   3 минуты  6 секунд:
http://phpcodes.ru/code112.html вот моя наброска
на хую вас вертів
#7. Gemorroj Off (107)
Administrator
2010.08.02 10:10
Когда как. Если шаблонизатором, то Smarty. Не потому что он такой крутой, просто по привычке)
#8. Morgan Off (10)
Участник
2010.08.04 17:05
а велосипедами пользуется кто-нибудь?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#9. Gemorroj Off (107)
Administrator
2010.08.04 21:09
Код:
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. aluka Off (0)
Участник
2010.08.14 02:02
Gemorroj написал:
Код:
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
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.016 s