ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

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

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

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Интегрирование в HTML-код


17-06-2015

В предыдущих главах описывались основы PHP. На примерах использования отдельных функций вы познакомились с основными проблемами программирования. Но все продемонстрированные ранее примеры были фрагментарными, выбранными здесь для иллюстрации применения конкретного оператора языка PHP. В этой главе показано, каким образом можно интегрировать PHP в Web-узел. Это поможет разработчику понять, создавать ли Web-узел полностью с помощью PHP, использовать ли PHP в разных местах Web-узла или создать несколько страниц, которые будут функционировать с помощью PHP. Кроме того, в главе описывается, как использовать PHP для генерирования HTML-кода.
26.1. Вставка PHP-кода в HTML-документы
Первым и наиболее очевидным подходом при работе с PHP является создание HTML-файлов в обычном стиле: попеременное использование PHP- и HTML-тегов. Повторяющийся HTML-код можно заменить вызовом функций PHP. Большой фрагмент PHP-кода может генерировать вывод из базы данных или представлять собой сценарий ввода данных в форму. Все это ситуации, в которых долю PHP-кода в Web-узле нельзя назвать существенной, но в качестве первого шага для новичков на стезе такого программирования это очень неплохо. Для приобретения опыта можно вставить небольшие фрагменты PHP-кода, а затем можно постепенно переносить основную нагрузку на PHP.
Кроме таких простейших задач, как вставка текущей даты с помощью кода <?php print(date('Y/m/d')); ?>, можно создать функцию, которая бы включала в себя блок HTML-кода. В листинге 26.1 задается класс для печати HTML-таблиц. 
Листинг 26.1. Функция форматирования

<?php /*
** Простейший класс для создания HTML-таблиц */
class HTMLTable {
static function start($header=FALSE)
{
print("<table border="1">n");
if(is_array($header))
{
print("<tr>n"); foreach($header as $h)
{
print("<th>" .
strtoupper($h) . "</th>n");
}
print("</tr>n");
}
}
static function end()
{
print("</table>nn");
}
static function printRow($label, $field)
{
print("<tr>n"); //Описание
if($label !== "")
{
print("<th>" .
strtoupper($label) . "</th>n");
}
if(!is_array($field))
{
$field = array($field);
}
foreach($field as $key=>$value)
{
print("<td>"); if($value === "")
{
print("&nbsp;");
}
else
{
print($value);
}
print("</td>n");
}
print("</tr>n"); 
}
static function printSet($set)
{
foreach($set as $field)
{
if(isset($field['label']))
{
$label = $field['label'];
unset($field['label']);
}
else
{
$label = "";
}
HTMLTable::printRow($label, $field);
}
}
}
?>
<html> <head>
<title>Листинг 26.1</title>
</head>
<body>
<p>
Это пример использования функции программирования часто используемых фрагментов HTML-кода. Он выводит таблицу.
</p> <?php
//отобразить таблицу с обозначениями слева
HTMLTable::start();
HTMLTable::printRow('этап 1', 'Начало таблицы');
HTMLTable::printRow('этап 2', 'Печать строк');
HTMLTable::printRow('этап 3', 'Завершение таблицы');
HTMLTable::end();
?> <p>
Класс HTMLTable позволяет отображать все HTML-таблицы в одинаковом стиле. Для того чтобы изменить отображение всех таблиц, необходимо отредактировать класс. Аналогичной технологией является Cascading Style Sheets, но ее реализация в PHP означает, что в данные можно вносить изменения неограниченное число раз перед созданием HTML- кода.
Это также означает, что можно четко идентифицировать данные, не влияя на конечное размещение документа.
</p> <?php
//отобразить таблицу с обозначениями сверху HTMLTable::start(array('artist', 'song')); HTMLTable::printSet(array(
array('Thelonious Monk', 'Bemsha Swing'),
array('John Coltrane', 'Spiral'),
array('Charlie Parker', 'Koko')
)); 
HTMLTable::end();
</body> </html>

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Создание программного обеспечения PHP. Интегрирование в HTML-код. Часть Вторая.