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 не является обязательным.


 

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

41016. Специфіка історичного розвитку української культури 34 KB
  Автохтонні джерела української культури 2. Самодостатні історичні типи української культури. Автохтонні джерела української культури Коріння української культури стародавнє але надзвичайно міцне.
41017. Аналіз фінансового стану підприємства 160.5 KB
  Значення завдання та джерела інформації для аналізу фінансового стану підприємства. Коефіцієнти фінансової стійкості підприємства їх економічний зміст методи розрахунку та аналізу. Значення завдання та джерела інформації для аналізу фінансового стану підприємства Фінансовий стан підприємства – це його здатність фінансувати свою діяльність.
41018. Витоки української культури 65.5 KB
  Антропологічні типи українців Структурні типи української нації.Які є атропологічні типи українців Які є соціопсихічні типи українців
41019. САМОВИХОВАННЯ, САМОПІЗНАННЯ І САМОДІАГНОСТИКА - ОСНОВА ФОРМУВАННЯ ПРОФЕСІОНАЛІЗМУ ВЧИТЕЛЯ 74 KB
  Він має постійно вчитися вдосконалюючи свої знання і вміння розвиваючи здібності формуючи позитивні людські якості. В процесі самодіагностики вивчаються : Виховна діяльність педагога; Індивідуальний стиль педагогічного спілкування і керівництва; Поведінка в складних або конфліктних ситуаціях; Культура розумової праці і самовдосконалення; Авторитет у колег учнів батьків; Рівень володіння педагогічними вміннями; Знання педагогічної техніки технології та методики індивідуальної педагогічної взаємодії; Характер і причини...
41020. ШЛЯХИ ФОРМУВАННЯ ПРОФЕСІНАЛІЗМУ ВЧИТЕЛЯ (ЯК СТАТИ ВЧИТЕЛЕМ) 127 KB
  Прийоми запам’ятовування. Але менше часу витрачається на пусті спроби щось запам’ятати осмислити. Історія не знає людей які рівною мірою можуть запам’ятовувати абсолютно все. Хтось відзначається пам’яттю на обличчя але важко запам’ятовує хронологічні дати хтось краще запам’ятовує числа або слова.
41021. Основи нарисної геометрії 525.5 KB
  Лінії креслення. Товщини ліній на кресленні залежать від вибраної товщини s суцільної основної лінії. Накреслення лінії Наймену вання лінії Товщина лінії відносно товщини основної лінії Основне призначення Суцільна товста основна S Лінії видимого контуру; лінії переходу видні; лінії контуру перерізу винесеного та вхідного до складу перерізу Суцільна тонка Від S 3 до S 2 Лінії контуру накладеного перерізу; лінії розмірні та виносні; лінії штрихування; лініївиноски; полички лінійвиносок і підкреслювання написів; лінії для...
41022. Государственное управление (понятие, природа и сущность) 75.5 KB
  Понятие государственного управления Управление по общепризнанному вошедшему в энциклопедические словари определению является функцией сложных организованных систем любой природы технических биологических экологических социальных обеспечивающей сохранение их структуры внутренней организации поддержание режима функционирования направленного на реализацию их программных целей. По своему содержанию это постоянный целенаправленный процесс воздействия субъекта на объект через соответствующий механизм управления. Объектами управления могут...
41023. ГЕОГРАФІЯ РОЗСЕЛЕННЯ. ТЕОРЕТИКИ УРБАНІСТИКИ 1.59 MB
  Історичні вогнища стародавньої цивілізації і перші міста виникли на крупних річках Ніл Тигр і Євфрат Інд і Ганг Янцзи і Хуанхе. У центрі міста підносився острівакрополь з палацами і храмами. Катаній пропонували суміщати вітрувіанський квадратний план римського ідеального міста з бастіонами і багатокутним зовнішнім периметром стін. жителів в кожному з своїми приміськими зонами розташовувалася на відстані 3 4 км один від одного навколо центрального міста з населенням 60 тис.
41024. Укладання та виконання зовнішньоторговельного контракту (продовження) 158.5 KB
  Укладання та виконання зовнішньоторговельного контракту продовження План Формування ціни контракту та умов платежу. Ціни контрактів за узгодженням сторін фіксуються у валюті однієї з країн контрагентів або у валюті третьої країни. Для платежу тобто для взаємних розрахунків між продавцем і покупцем може бути обрана інша валюта не та у якій зафіксовані ціни.