4369

Создание статических сайтов с помощью PHP

Лекция

Информатика, кибернетика и программирование

Создание статических сайтов с помощью PHP Статические сайты представляют собой совокупность HTML страниц, связанных между собой ссылками. Страницы заранее создаются разработчиками, помещаются на сервер и выдаются клиентам в ответ на запрос. В отличи...

Русский

2012-11-18

74.5 KB

19 чел.

Создание статических сайтов с помощью PHP

Статические сайты представляют собой совокупность HTML страниц, связанных между собой ссылками. Страницы заранее создаются разработчиками, помещаются на сервер и выдаются клиентам в ответ на запрос. В отличии от статических, динамические сайты изменяют содержание страницы в зависимости от запросов, поступающих от пользователя. Другими словами, страницы динамического сайта не создаются заранее, а генерируются специальными серверными программами в ответ на запрос.

Генерирование страниц на стороне сервера позволяет отделить данные (полезная информация) от описания способа их форматирования (шаблона). В настоящее время существует несколько технологий генерирования (обработки) страниц на стороне сервера. Одной из наиболее распространенных технологий является PHP. Расшифровывается PHP как Personal Home Page Tools (средства разработки личной домашней страницы). Первая версия интерпретатора языка PHP была разработана в 1994 году Расмусом Лердорфом. В настоящий момент разработчикам доступна четвертая версия интерпретатора PHP, а в скором будущем планируется выход пятой версии.

PHP является кросс-платформенным программным продуктом. Программы, написанные на языке PHP, называются скриптами. Скрипты могут генерировать HTML страницы, обрабатывать данные, полученные от HTML-форм, обращаться к командам операционной системы, хранить данные во внешних файлах, использовать в качестве хранилища данных широкий спектр СУБД. В настоящее время реализовано большое количество библиотек, расширяющих функциональность PHP.

Код PHP-программы хранится в виде простого текста в формате ASCII, поэтому создавать скрипты можно в любом текстовом редакторе, например vi (при работе с ОС UNIX) или Notepad (ОС Windows). Как правило, PHP-скрипт представляет собой набор инструкций, встраиваемых в HTML страницу. При обращении к странице, сервер интерпретирует инструкции и возвращает обработанную страницу клиенту.

Ниже приведен пример простейшего PHP-скрипта, создающего страницу, содержащую строку "Hello world!".

<html>

<body>

<?php echo ("Hello world!"); ?>

</body>

</html>

Созданный файл (test.php) выложим на сервер в каталог, доступный для обработки интерпретатором PHP (например в корневой каталог сервера, имеющего адрес http://www.mysite.com). Скрипт будет доступен по адресу http://www.mysite.com/test.php .

Веб-сервер, получив запрос на выдачу документа с расширением php, запустит интерпретатор языка PHP. Интерпретатор начнет построчно анализировать файл в поисках php-инструкций. В приведенной выше программе содержится одна инструкция <?php echo ("Hello world!"); ?> . Данная инструкция дает интерпретатору указание добавить в анализируемый документ строку "Hello world!". Инструкции языка HTML интерпретатором не анализируются и остаются в неизменном виде. В результате, клиент получит документ, содержащий следующие строки:

<html>

<body>

Hello world!

</body>

</html>

Браузер интерпретирует инструкции языка HTML и выдает на экран надпись "Hello world!".

В приведенном выше примере для выделения инструкций языка PHP из тела HTML-страницы были использованы тэги <?php и ?>. Однако существуют и другие способы выделения PHP-инструкций:

<? echo ("Hello world!"); ?>

<script language="PHP"> echo ("Hello world!"); </script>

<% echo ("Hello world!"); %>

В зависимости от настроек сервера, можно использовать либо один из перечисленных вариантов, либо сразу несколько. Между тэгами, выделяющими блок PHP внутри HTML-страницы может располагаться неограниченное количество инструкций. Количество блоков, содержащих PHP-инструкции так же не ограничено. Инструкции внутри одного блока должны отделяться друг от друга символом "точка с запятой". В случае, если между инструкциями отсутствует разделитель, синтаксический анализатор PHP выдаст сообщение об ошибке. Ниже приведен пример PHP-скрипта, содержащего несколько инструкций.

Скрипт

Результат работы скрипта

<html>

<body>

<? echo ("Hello world!"); ?>

<br>

<? echo ("Text generated ");

echo "by PHP"; ?>

</body>

</html>

<html>

<body>

Hello world!

<br>

Text generated by PHP

</body>

</html>

В данном примере инструкции PHP расположены в двух блоках, причем во втором блоке расположены две инструкции. Функции "echo", организующей добавление строк в HTML-страницу можно, передавать аргумент как в скобках, так и без них.

PHP позволяет разработчику встраивать в обрабатываемую страницу блоки инструкций, интерпретируемых клиентом (блоки JavaScript).

<html>

<body>

<?

echo ("<script language="JavaScript"> alert('Hello!'); </script>");

?>

</body>

</html>

Данная программа работает следующим образом. На первом этапе интерпретатор языка PHP анализирует текст страницы и встраивает в нее строку при помощи функции echo. Содержимое строки echo может иметь произвольное содержимое и не анализируется интерпретатором. На втором этапе сформированная страница высылается браузеру. Браузер начинает анализировать HTML-инструкции и находит в теле страницы блок инструкций JavaScript. Далее происходит запуск интерпретатора языка JavaScript, который отображает диалог с сообщением "Hello!".

Таким образом средствами PHP была сформирована страница, содержащая элементы программы, исполняемой на стороне клиента.

В РНР есть три основных типа данных: целое число (integer), действительное число (double) и строка (string). У каждой переменной есть свой тип, однако тип переменной может меняться на лету, когда изменяется значение переменной или иным программным образом.

2 // Это целое число

2.0 // Это действительное число

"2" // Это строка

"2 hours" // Это тоже строка

В РНР начиная с версии 4 определен логический данных также присутствует. Для целых чисел 0 (ноль) вычисляется как FALSE, а любое ненулевое целое значение - как TRUE. Аналогично, действительное значение 0,0 (или такие его эквиваленты, как 0,000) вычисляются как FALSE, а ненулевые значения вычисляются как TRUE. Что касается строк, то пустая строка вычисляется как FALSE. Она представляется парой кавычек, между которыми ничего нет. Все непустые строки вычисляются как TRUE.

Константы - это неизменные значения.

Для создания констант используется функция define() :

define("NAME", "Иван");

define("VERSION", 3);

В отличие от констант, переменные автоматически объявляются в РНР при присвоении им значений. Присвоение осуществляется с помощью оператора присваивания (=). Имя переменной обязательно начинается с символа $ .

$name = "Иван";

$value1 = 22;

$value2 = 5.00;

Тип переменной автоматически определяется значением, присвоенным этой переменной.

$а = 1; // $а - целое

$а = 1.2; // теперь это число с плавающей запятой

$а = "А"; // теперь это строка

При выполнении над строкой числовой операции РНР переводит строку в число. В следующем примере переменной $str присваивается строковое значение:

$str = "222В Baker Street";

$х = 3 + $str; // $х = 225;

При преобразовании строк соблюдаются следующие правила:

  •  В число переводится только начало строки. Если строка начинается с допустимого численного значения, она будет переведена в это значение, в противном случае - в ноль. Строка "3rd degree" переводится в 3 при использовании в числовой операции, но "Catch 22" будет переведена в О (ноль).
  •  Строка переводится в число с плавающей запятой только в случае, если представляемое число занимает всю строку. Строки "3,4", "-4,01" и "4,200" переводятся в действительные числа 3,4, -4,01 и 4,200. Однако если строка включает другие символы, не представляющие действительное число, она переводится в целое. Например, строка "3,4 children" переводится в целое число 3, а строка " -4,01 degrees" переводится в целое число -4.

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

$а = 1; // $а - целое

$b = 1.0; // $b - число с плавающей запятой

$с = $а +$b; // $с - число с плавающей запятой (значение 2,0)

$d = $с +"6th" // $d - число с плавающей запятой (значение 8,0)

При задании строк, в PHP можно использовать как одинарные, так и двойные кавычки. Использование двойных кавычек позволяет динамически подставлять в строку значения переменных. Одинарные кавычки такой возможности не предоставляют.

$username=’Иванов’;

echo "Здравствуйте, $username"; // Здравствуйте, Иванов

echo ’Здравствуйте, $username’; // Здравствуйте, $username

В РНР реализованы базовые математические операторы:

Оператор

Операция

Пример

Результат

+

Сложение

7+2

9

-

Вычитание

7-2

5

*

Умножение

7*2

14

/

Деление

7/2

3,5

%

Деление по модулю

7%2

1

Оператор точка (.) используется в РНР как оператор конкатенации для соединения двух и более строковых значений в одну строку.

// Следующий код выводит "Иванов Иван Иванович"

$first = "Иван";

$last = "Иванов";

$full = $last." ".$first; // Иванов Иван

echo $full." Иванович"; // Иванов Иван Иванович

В РНР можно использовать сокращенные операторы в командах присваивания, для которых первый операнд является переменной, а результат присваивается той же переменной. Ниже приведен список сокращенных операторов:

 

Оператор

Эквивалент

$h += $i

$h = $h + $i

$h -= $i

$h = $h - $i

$h *= $i

$h = $h * $i

$h /= $i

$h = $h / $i

$h %= $i

$h = $h % $i

$h .= $i

$h = $h . $i

$h++

$h = $h + 1

$h--

$h = $h - 1

Операторы сравнения используются для проверки условия.

Оператор

Значение

Пример

Имеет значение true, если:

==

Равно

$h == $i

$h и $i имеют равные значения

<

Меньше

$h < $i

$h меньше $i

>

Больше

$h > $i

$h больше $i

<=

Меньше или равно

$h <= $i

$h меньше или равно $i

>=

Больше или равно

$h >= $i

$h больше или равно $i

!=

Не равно

$h != $i

$h не равно $i

<>

Не равно

$h <> $i

$h не равно $i

Условные операторы позволяют определять блоки кода, которые выполняются только при осуществлении некоторых условий. В РНР есть две условные конструкции. Первая из них - это if ... elseif ... else, позволяющая проверить несколько выражений и выполнить операторы в соответствии со значениями этих выражений. Если нужно сравнить одно выражение с рядом значений, то РНР предоставляет конструкцию switch ... case, упрощающую эту операцию.

Оператор if является одним из важнейших операторов, позволяющих выполнять выбранные строки кода только при истинности некоторых заданных условий. Например:

if ($h < 0) {

echo "Отрицательное число";

}

elseif ($h==0) {

echo "Ноль";

}

else {

echo "Положительное число";

}

Если при выполнении условия нужно выполнить несколько команд, то для обозначения строк, принадлежащих блоку if, используются фигурные скобки {}:

В РНР есть ключевое слово elseif для проверки альтернативных условий, если условие if оказывается не выполненным. В операторе if можно использовать любое количество операторов elseif. Последняя ветвь else позволяет указать код, который нужно выполнить, если ни одно из условий if или elseif не оказалось истинным.

Условия можно объединять с помощью логических операторов "и" (&&), "или" ( || ) :

if (($a < $b) && ($b > $c)) echo "Условия выполнены";

В PHP помимо условного оператора if имеется оператор switch. Теоретически, любую условную конструкцию можно организовать при помощи оператора if, однако в некоторых случаях оператор switch позволяет создавать более компактные и удобочитаемые конструкции. Ниже приведен пример использования оператора switch.

switch ($country) {

case "ca":

echo "Канада";

break;

case "ru":

echo "Россия";

break;

case "de":

echo "Германия";

break;

default:

echo "Информация отсутствует";

}

Оператор switch вычисляет значение $country и сравнивает его со всеми значениями в предложениях case. При обнаружении совпадения выполняются операторы, относящиеся к соответствующему блоку case, пока не будет обнаружен оператор. Если соответствие не обнаружено, выполняются операторы блока default. Наличие блока default не является обязательным.


 

А также другие работы, которые могут Вас заинтересовать

33724. Планирование отдельного следственного действия 25.5 KB
  Планирование отдельного следственного действия Следователь планирует не только очередность и сроки производства всех следственных действий по уголовному делу но и проведение каждого в отдельности следственного действия. Чтобы тактически правильно провести следственное действие и полно зафиксировать его ход и результаты следователь на этапе подготовки этого действия планирует предстоящую работу и осуществляет организационные мероприятия необходимые для реализации намеченного плана. Планируя следственное действие следователь определяет: а...
33725. Виды ТО 12.52 KB
  способы программа действий Тактические операции классифицируются по различным основаниям: 1 по характеру следственных ситуаций в условиях которых проводятся тактические операции: а проводимые в простых ситуациях; б проводимые в условиях сложной ситуации; 2 по отношению к предмету доказывания: а способствующие установлению обстоятельств входящих в предмет доказывания; б способствующие установлению вспомогательных фактов; 3 похарактеру и содержанию действий: а состоящие только из следственных действий; б состоящие из различных...
33726. Следственная ситуация 11.77 KB
  Следственная ситуация – статикодинамическое состояние процесса раскрытия преступления на определённый момент отражающий своеобразие расследования. уровень и разработанность научных рекомендаций в области расследования. оценка расследуемого события существующая на момент расследования. место время расследования преступления наличие возможности использования в конкретный момент расследования сил средств времени оптимальным образом.
33727. Формы применения специальных знаний при расследовании преступлений 25 KB
  При раскрытии и расследовании преступлений, судебном разбирательстве у следователя или суда возникает необходимость в помощи лиц, обладающих специальными знаниями в различных областях науки, техники, искусства, ремесла. Специальными являются знания, основанные на теоретических познаниях в какой-либо области, а также приобретенные лицом в процессе практической профессиональной деятельности.
33728. Формы участия населения в осуществлении местного самоуправления 62.5 KB
  Формы участия населения в осуществлении местного самоуправления Существуют следующие форму участия населения в осуществлении МСУ согласно закону № 131: 1. Принятое на местном референдуме решение подлежит обязательному исполнению на территории муниципального образования и не нуждается в утверждении какимилибо органами государственной власти их должностными лицами или органами местного самоуправления. Муниципальные выборы: Муниципальные выборы проводятся в целях избрания депутатов членов выборного органа местного самоуправления выборных...
33729. Международное товарищество рабочих 134.79 KB
  Деятельность Маркса и Энгельса в 50-х годах В предвидении нового подъема рабочего движения Маркс и Энгельс приступили к собиранию сил рабочего класса, ослабленных поражениями и преследованиями, и занялись обобщением опыта недавно пройденного революционного пути
33730. Осуществление органами МСУ отдельных государственных полномочий 28 KB
  Порядок наделения органов местного самоуправления отдельными государственными полномочиями: Полномочия органов местного самоуправления установленные федеральными законами и законами субъектов Российской Федерации по вопросам не отнесенным к вопросам местного значения являются отдельными государственными полномочиями передаваемыми для осуществления органам местного самоуправления. Наделение органов местного самоуправления отдельными государственными полномочиями Российской Федерации осуществляется федеральными законами отдельными...
33731. Ответственность органов местного самоуправления и должностных лиц местного самоуправления 36 KB
  Ответственность органов местного самоуправления и должностных лиц местного самоуправления перед государством наступает на основании решения соответствующего суда в случае нарушения ими Конституции Российской Федерации федеральных конституционных законов федеральных законов конституции устава законов субъекта Российской Федерации устава муниципального образования а также в случае ненадлежащего осуществления указанными органами и должностными лицами переданных им отдельных государственных полномочий. В случае если соответствующим судом...
33732. Государственная гражданская служба: понятие, принципы, порядок прохождения 33.5 KB
  Согласно ФЗ N 79 от 27 июля 2004 года О государственной гражданской службе в РФ Государственная гражданская служба Российской Федерации вид государственной службы представляющей собой профессиональную служебную деятельность граждан Российской Федерации на должностях государственной гражданской службы Российской Федерации по обеспечению исполнения полномочий федеральных государственных органов государственных органов субъектов Российской Федерации лиц замещающих государственные должности Российской Федерации и лиц замещающих...