функции шаблоны и функции обработчики

  • Автор темы Kauperwood
  • Дата начала
K

Kauperwood

#1
Подскажите пожалуйста где можно начитаться нормально по сабжу (не ООП и готовые шаблонизаторы).
пример:
PHP:
function Form()
{ 
$html = '';
if ( isset( $_SESSION['Form']['error'] ) ) {
$info = file_get_contents( './templates/infoMessage.html' );
$info = str_replace( '{infoMessage}', $_SESSION['Form']['error'], $info );
$html = $html.$info."\n";
unset( $_SESSION['Form']['error'] );
} 
$action = $_SERVER['PHP_SELF'].'?action=Form';

$tpl = file_get_contents( './templates/Form.html' );
$tpl = str_replace( '{action}', $action, $tpl );

$html = $html . $tpl;
return $html;
}
потом обработчик с проверками на запуск и т.п.

интересует все что связано с этими подходами, буду оч. благодарен, спасибо.
 
B

ByeBye

#2
что именно начитатся? принцип работы сесий? безопасность веб приложения при работе с формами? уточните вопрос
 
K

Kauperwood

#3
уточните вопрос
уточняю, все что может быть полезным, похожие примеры, работа с сессиями в функциях и функции шаблоны, вообщем все что может попасться на пути. Испытываю недостаток информации про этот подход так как поиск приводит к примерам, статьям где код вкрапляется в штмл - это не то.
 

1ive

Well-known member
12.09.2010
621
1
#4
На самом деле, тут и не в чем разбираться.
Объясню на пальцах:


Допустим шаблон выглядит так:

HTML:
<!-- Form.html -->


<form method="post" action="{action}">
<input type="text" name="login">
<input type="password" name="password">
<input type="submit">
</form>
Для начала функция записывает текст ссылки для параметра action в переменную ($action), т.е. ссылка выйдет такая:
"/test/index.php?action=Form"
PHP:
$action = $_SERVER['PHP_SELF'].'?action=Form';
Шаблонизатор заносит код шаблона в строковую переменную.
PHP:
 $tpl = file_get_contents( './templates/Form.html' );
Затем, с помощью str_replace заменяет тот самый {action}', на текст ссылки, который хранится в переменной ($action).
PHP:
$tpl = str_replace( '{action}', $action, $tpl );
И получается, что в переменной $tpl уде такой код:
HTML:
<!-- Form.html -->


<form method="post" action="/test/index.php?action=Form">
<input type="text" name="login">
<input type="password" name="password">
<input type="submit">
</form>
И последним пунктом склеивает одну часть разметки ($html) с куском обработанного шаблона ($tpl)
PHP:
$html = $html . $tpl;

Все предельно просто, если хотя бы прочитать код.
 
K

Kauperwood

#5
- 1ive код уже изучен)) имею большое желание его изучить больше, есть один сайт где все подсмотрел, но к сожалению больше ничего не нашел.
Много вопросов попадается, почти все из них, с "намеком" на самостоятельное изучение(разбор), т.к постить эти вопросы довольно сложно потому что нужно предоставить кода больше чем самой проблемы, а в итоге будет получен ответ:
- извините но телепатов у нас уже лет 10 как нету, или что то вроде того))

- Исходя из этого, предлагаю копить тут ссылки, возможно есть что нибудь кроме этого