Вопрос 9. Назначение и основные возможности языка PHP , пример программы


Добавил:DMT
Дата создания:30 декабря 2007, 19:18
Дата обновления:30 декабря 2007, 19:18
Просмотров:18077 последний сегодня, 19:56
Комментариев: 2
Вопрос 9. Назначение и основные возможности языка PHP , пример программы
up

Комментарии для "Вопрос 9. Назначение и основные возможности языка PHP , пример программы"


Пользователь: wiard
Сообщений: 3
Статус: Незримый
Зарегистрирован:
10 января 2008, 18:42
Был:28 января 2008, 12:52
wiard
smsup
Дата: 10 января 2008, 19:16 Сообщение № 1
Что такое PHP?

PHP (его полное название: PHP: Hypertext Preprocessor) - это язык, предназначенный для быстрого создания динамических web-страниц. Синтаксис языка похож на С, Java и Perl, однако имеет и свои, присущие только ему особенности. В официальной документации PHP определяется как server-side HTML-embedded scripting language (встраиваемый в HTML скриптовый язык с обработкой на сервере). Из этого определения можно выделить два основных момента:
1. Обработка кода PHP производится на сервере, а не в браузере клиента, как, например JavaScript
2. Код PHP может быть встроен непосредственно в тело HTML страницы, что выгодно отличает его от Perl.

Ниже приведен пример PHP скрипта, код PHP выделен синим цветом.
Код на HTML
  1. <html>
  2. <head>
  3. <title>Example</title>
  4. </head>
  5. <body>
  6. <?php echo "Hello, World!"; ?>
  7. </body>
  8. </html>
При использовании обязательна ссылка на http://DMTSoft.ru

В результате в браузере появится сообщение:

image1



Из этого примера виден принцип встраивания кода PHP в HTML код страницы: все, что находится между начальным и конечным тегом PHP (<?php и ?> соответственно) считается PHP кодом и обрабатывается интерпретатором PHP.

Пример программы на PHP


Разберём взаимодействие PHP и MySql при работе с базой данных. MySql представляет собой Sql – сервер, специально разработанный для работы с базами данных через Web-интерфейс.
В начале создадим базу данных и таблицу. Для этого необходимо войти в командную строку mysql и выполнить команды:
Код на MySQL
  1. mysql > CREATE DATABASE test;
  2. mysql > CREATE TABLE employees
  3. ( id TINYINT(4) DEFAULT0NOT NULL AUTO_INCREMENT,
  4. first VARCHAR(20), last VARCHAR(20), address VARCHAR(255),
  5. POSITION VARCHAR(50), PRIMARY KEY (id), UNIQUE id (id));
При использовании обязательна ссылка на http://DMTSoft.ru

В результате будет создана база данных test. В ней будет находиться таблица employees(служащие).
Затем в домашнем каталоге сервера необходимо создать файл index.php
и записать в нём следующий код:
Код на HTML
  1. <html>
  2. <head>
  3. <title>Example</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-5">
  5. </head>
  6. <body>
При использовании обязательна ссылка на http://DMTSoft.ru


Код на PHP
  1. <?php
  2. // подключение к серверу
  3. $db=mysql_connect("server","user","password");
  4. //выбор базы данных
  5. mysql_select_db("mydb",$db);
  6. //дескриптор запроса (представляет собой двумерный массив):
  7. //выбрать все поля из таблицы “employees”
  8. $result=mysql_query("SELECT * FROM employees", $db);
  9. ?>
При использовании обязательна ссылка на http://DMTSoft.ru


//ссылка на файл add.php – необходимый для добавления записей в базу
<a href="add.php" >Добавить запись</a>
Код на PHP
  1. <?php
  2. //новый абзац
  3. echo ("<p>");
  4. //если в БД есть записи, то выбирается строка,
  5. //причём обращение к записям производится по именам полей
  6. if ($myrow=mysql_fetch_array($result))
  7. {
  8. //операторы для вывода данных в виде таблички
  9. echo "<table border=1>\n";
  10. echo "<tr><td>Фамилия</td><td>Имя</td><td>Должность</td> <td>Адрес</td> </tr>\n";
  11. //записи выводятся в цикле
  12. do
  13. {
  14. //оператор printf необходим для форматированного вывода
  15. //printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>\n",
  16. //$myrow["first"], $myrow["last"],
  17. //$myrow["position"], $myrow["address"]);
  18. }
  19. //пока не закончатся
  20. while ($myrow=mysql_fetch_array($result));
  21. //окончание таблички
  22. echo "</table>\n";
  23. }
  24. //если записи отсутствуют то выдаётся соответствующее сообщение
  25. else
  26. {
  27. echo ("<p>");
  28. echo ("В настоящее время записи в базе данных отсутствуют");
  29. }
  30. //закрыть базу данных
  31. ?>
  32. </body>
  33. </html>
При использовании обязательна ссылка на http://DMTSoft.ru


В результате получим следующее:


image2


Для добавления записей создаём в этом же каталоге файл add.php

Код на PHP
  1. <html>
  2. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-5">
  3. <body>
  4. <a href="index.php">Просмотреть Базу данных</a>
  5. <?php
  6. echo ("<p>");
  7. if ($submit) {
  8. //эти операторы выполняются при нажатии на кнопку “Добавить записи”
  9. $db=mysql_connect("localhost","root","gfhjkm");
  10. mysql_select_db("mydb",$db);
  11. //дескриптор запроса: добавить запись в базу
  12. $sql="INSERT INTO employees (first,last,address,position)
  13. VALUES ('$first','$last','$address','$position')";
  14. //добавление записей
  15. $result=mysql_query($sql);
  16. echo "Информация добавлена\n";
  17. } else{
  18. ?>
При использовании обязательна ссылка на http://DMTSoft.ru


//форма для отправки данных
Код на HTML
  1. <form method="post" action="<?php echo $PHP_SELF?>">
  2. <table width="43%" border="0">
  3. <tr>
  4. <td width="32%">Фамилия</td>
  5. <td width="68%">
  6. <input type="Text" name="first">
  7. </td>
  8. </tr>
  9. <tr>
  10. <td width="32%">Имя</td>
  11. <td width="68%">
  12. <input type="Text" name="last">
  13. </td>
  14. </tr>
  15. <tr>
  16. <td width="32%">Адрес</td>
  17. <td width="68%">
  18. <input type="Text" name="address">
  19. </td>
  20. </tr>
  21. <tr>
  22. <td width="32%">Должность</td>
  23. <td width="68%">
  24. <input type="Text" name="position">
  25. </td>
  26. </tr>
  27. </table>
  28. <p>
  29. <input type="Submit" name="submit" value="Добавить данные">
  30. </p>
  31. </form>
  32. <?php
  33. }
  34. ?>
  35. </body>
  36. </html>
При использовании обязательна ссылка на http://DMTSoft.ru



image3

Пользователь: lilo
Сообщений: 38
Статус: Незримый
Зарегистрирован:
8 января 2008, 12:39
Был:9 апреля 2008, 19:55
lilo
smsup
Дата: 15 января 2008, 0:37 Сообщение № 2
PHP — это интерпретируемый язык для создания активных Web-страниц. Программа на PHP, подобно тексту на JavaScript, VBScript или ASP, вставляется в HTML-файл. Начало и конец программы отмечаются специальными скобками <?php и ?>. Текст вне этих скобок PHP не интерпретирует: он передается Web-браузеру "как есть".
PHP — это Си-подобный язык, предназначенный для быстрого создания программ на WEB-сервере. Он похож на Perl и ASP, но на порядок удобней их. Программы на PHP защищены от взлома методом "кривых символов". PHP вместе с Apache - самый популярный WEB-сервер - работает гораздо эффективней, чем Perl+Apache.
PHP — это система разработки скриптов, включающая в себя CGI - интерфейс, интерпретатор языка и набор функций для доступа к базам данных и различным объектам WWW. На данный момент PHP является наиболее удобным и мощным средством разработки приложений WWW и интерфейсов к БД в Интернет.
PHP — это интерпретируемый язык программирования, код которого встраивается непосредственно в HTML-страницы. При запросе пользователя web-сервер просматривает документ, выполняет найденные в нем PHP-инструкции, а результат их выполнения возвращает пользователю. При этом статическая часть документа, написанная на языке HTML, фактически является шаблоном, а изменяемая часть формируется при исполнении PHP-инструкций. Для удаленного пользователя подобные документы ничем не отличаются от обычных статических HTML-документов, за исключением того, что в расширении имени файла для таких документов может стоять не htm или html, а phtml или php3(4).
Сами скрипты находятся на сервере и их содержимое посетителю сайта просмотреть невозможно. Файлы скриптов имеют расширение *.php3 или *.phtml. При активации скрипта серверная программа выполняет все команды php этого скрипта, не затрагивая статическую часть документа (HTML-код) и результат возвращается программе-браузеру. В итоге пользователь видит обычную веб-страницу, отличающеюся от других только расширением.
В настоящее время PHP поддерживается подавляющим большинством представителей хостинга. Входит в LAMP — «стандартный» набор для создания вебсайтов (Linux, Apache, MySQL, PHP (Python или Perl)).
В области программирования для Сети PHP — один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.
Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, Linux, Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.
Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
Ныне PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.
Группа разработчиков PHP состоит из множества людей, добровольно работающих над ядром и расширениями PHP, и смежными проектами, такими, как PEAR или документация языка.

Синтаксис

Простейшая программа Hello world на PHP выглядит следующим образом:
Код на PHP
  1. <?php
  2. echo "Hello, world!";
  3. ?>
При использовании обязательна ссылка на http://DMTSoft.ru


PHP исполняет код, находящийся внутри ограничителей, таких как <?php ?>. Всё, что находится вне ограничителей, выводится без изменений. В основном, это используется для вставки PHP-кода в HTML-документ, например так:
Код на HTML
  1. <html>
  2. <head>
  3. <title>Тестируем PHP</title>
  4. </head>
  5. <body>
  6. <?php echo "Hello, world!"; ?>
  7. </body>
  8. </html>
При использовании обязательна ссылка на http://DMTSoft.ru


Имена переменных начинаются с символа $, тип переменной объявлять не нужно. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Переменные обрабатываются в строках, заключённых в двойные кавычки, и heredoc-строках.
PHP рассматривает переxод на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев.
PHP поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).

Типы данных
Диапазон целых чисел в PHP зависит от платформы (обычно это диапазон 32-битных знаковых целых чисел). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел также зависит от платформы.
В PHP есть булевский тип, имеющий значения TRUE («истина») и FALSE («ложь»). При преобразовании в булевский тип число 0, пустая строка и пустой массив считаются FALSE.
Тип NULL представляет переменную без значения. Единственным значением этого типа является NULL.
Ссылки на внешние ресурсы представляются значениями типа «ресурс». Они, как правило, создаются и обрабатываются функциями из определённых расширений. Примерами ресурсов являются файлы, изображения, базы данных.
Массивы поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется.