Вы не зашли.
Главная » PHP » Логика отдельно
#1. tipsun Off (19)
Moderator
2011.08.21 03:03
Если есть похожая тема, то извините, я перену пост туда.
Вот сегодня думал насчет многократных замечаний и:
Код:
span style="color: #0000BB"><?php////////////где-нибудь инклудим, в шапке с конфигом например...// require_once 'f.html.php';//////////function html($tpl=array(), $tplSet='index.tpl') { $path = dirname(__FILE__) .'/tpl/'. $tplSet; if(!file_exists($path)) exit('Ошибка загрузки файла шаблона: ' . $tplSet); //*/ ob_implicit_flush(0); ob_start(); require_once $path; $html = ob_get_contents(); ob_end_clean(); ob_implicit_flush(1); //*/ $from = array('/\r|\n|\t/', '/ {2,}/'); $to = array(null, ' '); $html = preg_replace($from, $to, $html); exit($html); }////////////это в каком-нибудь файле выполняется...// index.php//////////$tpl = array();$tpl['title'] = 'HELLO WORLD';$tpl['array'] = range(1,9);$tpl['content'] = 'Эта история началась давным давно!';html($tpl, 'index.tpl'); //можно и так GLOBAL $tpl;//////////?>
Ну да, знаю: типа на классах лучше, всего 1 раз подключать и т.д.

Код:
<!-- Шаблон index.tpl -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?=$tpl['title'];?></title>
</head>
<body>
<h1><?=$tpl['title'];?></h1>
<?=$tpl['content'];?><br/>
<?php foreach($tpl['array'] as $key):?>
<h3><?=$key;?></h3>
<?php endforeach;?>
</body>
</html>
Отредактировано tipsun (2011.08.21 05:05)
#2. tipsun Off (19)
Moderator
2011.08.21 05:05
Я тут дальше копаюсь. Вот оказывается (пока что) как покайфу, когда раздельно логика и разметка. smile
Отредактировано tipsun (2011.08.21 05:05)
#3. Gemorroj Off (107)
Administrator
2011.08.21 10:10
велосипедные шаблонизаторы не нужны
#4. Nu3oN Off (11)
Moderator
2011.08.21 11:11
tipsun написал:
Я тут дальше копаюсь. Вот оказывается (пока что) как покайфу, когда раздельно логика и разметка. smile
Во первых лучше делать так:
Код:
span style="color: #0000BB"><?phpfunction html($tplSet='index.tpl', $tpl=array()) { ///}?>
Потому что иногда будет необходимость подключать шаблоны не передавая переменные!
Во вторых используй уже готовые варианты...
И наконец используй нативные шаблонизаторы!
Я буду лучше голоден, но между креслом и рулем и на дороге.
#5. Gemorroj Off (107)
Administrator
2011.08.21 11:11
Nu3oN, а это не нативный? тут работает родной php синтаксис.
#6. Nu3oN Off (11)
Moderator
2011.08.21 13:01
Gemorroj написал:
Nu3oN, а это не нативный? тут работает родной php синтаксис.
Нативный, но не лучший вариант исполнения его!
Я буду лучше голоден, но между креслом и рулем и на дороге.
#7. tipsun Off (19)
Moderator
2011.08.23 06:06
Короче искать готовый нативный шаблонизатор - ок. Спс.
----
В шаблоне в принципе можно было бы сделать так:
Код:
<html>
<head>
<title>Статичный текст логичней так <?=TITLE;?></title>
</head>
<body>
В функции/классе принять массив как $_ или $__<br/>
Так: <?=$_['var'];?><br/>
Или: <?=$__['var'];?><br/>
Это в основном если массив данных, как я понял сам. Надо еще почитать, посмотреть.
</body>
</html>
#8. tipsun Off (19)
Moderator
2011.08.23 06:06
Zend Framework (та гребаная библиотека, в которой все есть).
Не думал что даже там не придумали как только в самом шаблоне экранировать спец. символы или я чет не так понял. Надо скачать, посмотреть.
Отредактировано tipsun (2011.08.23 06:06)
#9. Gemorroj Off (107)
Administrator
2011.08.23 19:07
escape
http://framework.zend.com/manual/ru/zen … lpers.html
#10. tipsun Off (19)
Moderator
2011.11.18 19:07
Прочел в интернете, что принимать значения через __set(__get) затратно.
Лучше сделать типа $class->assign('varName', 'Hello Hell'); (как на smarty и вроде Zend)
Отредактировано tipsun (2011.11.18 19:07)
#11. Gemorroj Off (107)
Administrator
2011.11.19 11:11
ссылку?
#12. tipsun Off (19)
Moderator
2011.11.19 13:01
Gemorroj, не сохранил. Это не статья, а комментарии был, к нативному шаблонизатору.
Типа 1 метод лучше.
Отредактировано tipsun (2011.11.19 14:02)
#13. tipsun Off (19)
Moderator
2011.12.27 18:06
Почему все так стремятся к mod_rewrite?
Только при его использовании уже придется делать всяко конструкции для приема данных.

Ну будет у меня некрасиво: /script/index.php?page=1&sort=2

Зато все легко принимается.
Зачем это все переделывать то, не пойму (наверно еще "зеленый").
Добавлено спустя   4 минуты  17 секунд:
Увидел, что некоторые шаблоны в базе хранят. Ну вроде понятно, база быстрее.
Отредактировано tipsun (2011.12.27 18:06)
#14. Gemorroj Off (107)
Administrator
2011.12.28 00:12
для сео, для людей
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.018 s