Тарифы Услуги Сим-карты

Пароль на страницу. PHP в HTML с помощью short__tag

Если вы только что столкнулись с PHP, то вам нужно знать некоторые определения.
Прежде всего, PHP – это язык программирования и служит он для написания команд (сценариев), адресованных серверу. Если говорить ещё проще, то при помощи PHP мы можем общаться с сервером.
Команды PHP легко внедряются в HTML страницы. Именно это свойство является важным преимуществом языка PHP перед такими языками, как Perl и C.

Синтаксис PHP

PHP код сценария начинается после открывающего тэга . Текст между этими двумя тэгами считывается программой , находящейся на сервере, а в HTML-документ выводится полученный результат. Рассмотрим на примере:



Пример

include ("sidebar.htm") ;
?>


Если нам нужно что-то вставить в html код страницы необходимо использовать команду include (вставить). Далее указываем адрес файла, а заканчивается строка, как и в CSS ;

Вставляем HTML код в страницы сайта

Как правило боковые колонки (sidebar ) и подвал (footer ) остаются неизменными на всех страницах сайта. Следовательно коды

.....
и можно вынести в отдельные htm страницы "sidebar.htm" и "footer.htm" и вставлять в страницы сайта при помощи команды include . Если при этом вынести в отдельный файл и главное содержимое -
.....
, то код нашей страницы будет иметь вид:



Пример

include ("sidebar.htm") ;
include ("content.htm") ;
include ("footer.htm") ;
?>


содержимое sidebar.htm


здесь
содержимое
Вашего
сайд-бара

Аналогично с файлами content.htm и footer.htm .

При такой генерации страниц Вам достаточно внести изменения в один файл "sidebar.htm" , что бы изменились все страницы сайта. Что очень удобно если Ваш сайт состоит из сотни или тысячи страниц.

PHP на Вашем компьютере

Чтобы Вы могли работать с PHP-скриптами и просматривать результаты выполнения в браузере, вам нужно установить работающий веб сервер с PHP на Вашем локальном компьютере.
Лучше всего для таких задач подойдёт Денвер . (официальный сайт предоставляет всё необходимое бесплатно ) В комплект установки входит - Apache, php и MySQL. Другими словами на Вашем компьютере будет находиться полнофункциональный сервер для хостинга сайтов .

Для того, что бы PHP код работал в HTML страницах необходимо открыть файл .htaccess в любом текстовом редакторе и прописать следующее:

AddHandler application/x-httpd-php .html

Данная запись разрешает выполнение PHP скриптов в HTML страницах.

Или изменить расширение файла.html на.php

Возможности PHP

PHP способен не только выдавать HTML. Возможности PHP включают формирование изображений, файлов PDF и даже роликов Flash (с использованием libswf и Ming), создаваемых "на лету". PHP также способен выдавать любые текстовые данные, такие, как XHTML и другие XML-файлы. PHP способен осуществлять автоматическую генерацию таких файлов и сохранять их в файловой системе вашего сервера, вместо того, чтобы отдавать клиенту, организуя, таким образом, кеш динамического содержания, расположенный на стороне сервера.

Одним из значительных преимуществ PHP является поддержка широкого круга баз данных. Словом, PHP может предложить вам очень многое! Подробно о преимуществах PHP можно ознакомиться на www.php.su .

February 1, 2015

Шаблоны в PHP

Разделение оформления и содержания – извечная проблема веб-разработчика. Для держателя небольшого сайта в несколько страниц такой проблемы не возникает и изменение дизайна, либо другая правка внешнего вида страниц для него не представляет трудностей. Однако для крупных веб-ресурсов и порталов смешение этих двух важнейших компонентов сайта – оформления и содержания – просто недопустимо. Иначе сайт становится настолько неповоротлив, что владелец ресурса теряет над ним управление.

Столкнувшись однажды с такой проблемой, сайтостроители начали ломать голову над тем, как сделать так, чтобы информация не привязывалась никоем образом к дизайну и наоборот, чтобы внешний вид всего сайта менялся буквально одним движением руки.

Необходимо сказать, что способа идеального разделения оформления и содержания в наши дни пока не найдено. Но все же созданы определенные наработки и технологии, которые позволяют максимально приблизиться к этому идеалу. Прежде всего это технология использования шаблонов.

Понятие "шаблон" довольно обширно. Но чаще всего под шаблоном понимается некий документ (обычно в формате HTML), содержащий в себе всё оформление ресурса, либо только его части, а также специальные метки, которые в процессе генерации страницы заменяются на информационные данные.

Для работы с шаблонами используются специальные веб-приложения (если говорить о веб-разработках), которые могут обладать различными свойствами и функциями. Но чаще всего их роль сводится к тому, чтобы заменять вышеуказанные метки на информационные блоки и соединять полученные части страниц в единое целое.

Наверное, во всех языках вебпрограммирования есть подобные инструменты для работы с шаблонами: в Perl это FastTemplate (который, кстати, существует и для PHP, но его использование не рекомендуется, так как приемлемые для работы версии относятся еще к третьей версии PHP), в отношении PHP – это крупный и многофункциональный Smarty, а также ряд других более мелких "шаблонизаторов".



Smarty – одна из самых крупных разработок подобного рода. Реализован он, как и практически все приложения подобного типа, в виде класса.

Этот "шаблонизатор" имеет огромное количество возможностей: он не только осуществляет замену выделенных участков шаблона указанными данными, но и предоставляет использование внутри шаблона исполняемых участков, функций, конфигурационных файлов и т.д.

Описывать все его возможности и правила использвования не имеет смысла из-за экономии времени, к тому же к нему написана довольно хорошая документация, а примеры использования прилагаются к самому Smarty.

Smarty – это настоящий монстр по работе с шаблонами. Но, как понимаете, за столь широкую функциональность приходится платить ресурсами сервера и временем исполнения скрипта на его основе. В некоторых случаях из-за своей громоздкости Smarty кажется неповоротливым. Поэтому для сравнительно небольших проектов использование Smarty – обычно далеко не лучший выбор. В этом случае следует обратить внимание на более мелкие и менее функциональные, но тем не менее достойные инструменты.

Рассмотрим более простой пример шаблонов.

Код шаблона помещается внутрь HTML страницы и занимается генерацией динамического содержимого.

Пример 10.1.1:

Простейшая страничка

Динамический content страницы

"; ?>

(с) 2001 Вася Пупкин

На первый взгляд это очень удобно. И это действительно удобно, но как правило только в случае, если страница несложная и динамического кода в ней немного. А теперь посмотрите на современные сайты в интернете – на каждой странице собрано множество разнообразной информации, причём, как правило, эта информация представляет собой различную функциональность: например, меню сайта, последние новости, голосование, поиск, ссылки, реклама и т.п. – и всё это на одной странице. Да и струртура HTML кода подобной страницы довольно сложна. Я думаю, что вы понимаете, что использование метода "встраивания" PHP кода в подобную страницу ничего кроме головной боли и кучи трудноуловимых глюков вам не принесёт. Более того, web-программисты (да и не только они) повсеместно стремятся как можно сильнее отделить код сайта от его визуальной части, чтобы не приходилось переписывать код при каждом изменении внешнего вида сайта. Вот здесь-то и возникает идея использования шаблонов как средства разделения внешнего вида и внутреннего кода сайта.

Итак, шаблоны – это механизм, который позволит вам в большей или меньшей степени избавиться от тесной привязки вашего кода к внешнему виду вашего сайта и поможет вам облегчить задачу генерации динамического HTML кода страниц. Основная идея этого механизма состоит в том, чтобы иметь множество "кусочков" HTML кода из которых вы потом, как из кубиков в конструкторе, соберете любую страницу вашего сайта.

Простейший способ использования шаблонов – это создание множества переменных, содержащих кусочки HTML кода. Код самой страницы при этом самостоятельно занимается объединением HTML кода из этих переменных с необходимыми данными для получения результата. Посмотрим, например, как могла бы выглядеть генерация той же самой страницы с помощью простейших шаблонов

Файл templates.php содежит описание всех необходимых шаблонов. Если посмотреть на содержимое переменных, описанных в этом файле, то можно заметить, что это просто та же самая страница, но разбитая на множество частей, между которыми должны быть вставлены данные.

Пример 10.1.2:

// Начало заголовка страницы

$pageHeaderStart = "";</p> <p>// Конец заголовка страницы</p> <p>$pageHeaderEnd = "";

// Начало меню

$menuStart = "

Страница 1 Страница 2 Страница 3
";

// Конец меню

$menuEnd = "

";

// Начало пункта меню

$menuItemCellStart = "";

// Конец пункта меню

$menuItemCellEnd = "";

// Начало content"а страницы

$pageContentStart = "

// Конец content"а страницы

$pageContentEnd = "

";

// Footer страницы

$pageFooter = "

(с) 2001 Вася Пупкин

";

// Заголовок страницы

// Содержимое меню

// Content страницы

// Подгружаем темплейты

include("templates.php");

// Выводим заголовок

echo $pageHeaderStart.$title.$pageHeaderEnd;

// Выводим меню

echo $menuStart;

for($i=0;$i

echo $menuItemCellStart."".$menu[$i]."".$menuItemCellEnd;

// Выводим content страницы

echo $pageContentStart.$content.$pageContentEnd;

// Выводим footer

echo $pageFooter;

Конечно этот код выглядит просто ужасно, но основную идею "собирания" HTML кода страницы из кусочков этот пример демонстрирует достаточно хорошо.

На самом деле основная проблема приведенного выше кода состоит в том, что он не позволяет вам полностью избавиться от HTML кода внутри PHP кода, ведь здесь каждая частичка HTML кода хранится в отдельной переменной. Представьте, сколько пришлось бы иметь подобных переменных для более-менее сложной страницы. И, кроме того, несмотря на то, что непосредственно HTML код вынесен в отдельный файл, но его связь с результатами работы PHP кода жестко задана внутри самого PHP кода (ведь все объединения HTML и PHP кода жестко прописаны).

Большинство этих проблем могут быть решены путём использования несложной системы для подстановок данных в HTML-шаборны.

Основным отличием систем, основанных на подстановке данных, является то, что они позволяют, используя определенный синтаксис, определять места вставки данных в HTML-шаблоны. По сути, все имеющиеся системы работы с шаблонами основаны именно на этом принципе и единственное, что их различает – синтаксис, используемый для задания шаблонов и набор возможностей, предоставляемый системой.

Приведём одну из самых простых систем, основанных на этом принципе. Это всего лишь одна небольшая функция (чуть больше 40 строчек кода), но, тем не менее, она позволяет делать практически всё то же, что и большинство систем "среднего уровня", имеющиеся в Интернет.

Сначала – краткое описание синтаксиса для описания шаблонов, применяемых в данной системе.

"Ключ" для подстановки:

::= "{"[" "]"}"

Ключом для подстановки здесь называется часть текста шаблона, которая будет впоследствии заменена на некоторые данные, переданные функции – обработчику шаблонов. Он состоит из двух основных частей: имени (уникального в пределах данного шаблона) и необязательного значения по умолчанию. Оно будет использоваться в случае, если при обработке шаблона для него не было задано значение. В случае, если значение по умолчанию также не было задано - этот ключ будет заменен на пустую строку.

Значение по умолчанию может также быть использовано для задания специальной обработки. Ниже приведены 3 различных типа синтаксиса, допустимые для значения по умолчанию:

::=

::= "#"