История PHP

advertisement
PHP:
от средства создания
персональных веб-страниц
(Personal Home Page) до
препроцессора
(HypertextPreProceccor)
Начало создания
История PHP
• 1995 - PHP/FI (Personal Home Page /
Forms Interpreter – персональная
домашняя страница/ интерпретатор
форм).
• 1997 - PHP – PHP/FI 2.0
• 1998 - PHP 3.0 - Hypertext Preprocessor
• 1999 - PHP 4.0 «Zend Engine»
• н\время - PHP 5.0
Возможности PHP
• Создание скриптов ), которые
исполняются на стороне сервера
• Создание скриптов, выполняющихся в
командной строке
• Создание GUI-приложений
Стандартный интерфейс CGI
• CGI-программы – шлюзы для взаимодействия
с СУБД, другими системами и выдачи
динамической информации
• В реальном масштабе времени возвращает
результат обработки запроса на экран
пользователя
• Программа-шлюз может быть создана на
языках: C/C++, Fortran, Perl, TCL, Unix Schell,
Visual Basic, Apple Script
• Хранится в директории cgi-bin WWW-сервера
Клиент (Браузер)
1. Клиент посылает запрос, URL
которого указывает на специальную
CGI-программу
7. Сервер отправляет клиенту
полученный результат
Web-Сервер
2. Для обработки запроса сервер
запускает CGI-программу, передавая
её параметры от клиента
Базы данных,
обработка форм,
системы поиска,
слежение за
динамическими
процессами на
сервере, работа с
электронной почтой и
сетью
6. Результат своей работы CGIпрограмма возвращает серверу
3. CGI-программа считывает
даные, переданные сервером, и
приступает к их обработке
CGI-программа
Взаимодействие «клиента-сервер»
при вызове CGI-обработчика
4. CGI-программа обрабатывает
данные (например, производит
поиск в базе данных)
5. CGI-программа выдает
результат. Это может быть как
сгенерированный документ, так и
перенаправление к другому URL.
Почему PHP?
1. Прост в изучении
2. Поддерживается почти на всех
известных платформах
3. Два самых популярных подхода к
программированию – объектный и
процедурный
4. И многое другое
Взаимодействие с другими
языками:
• Поддержка объектов Java и возможность их
использования в качестве объектов PHP.
• Расширение CORBA для доступа к
удаленным объектам
• Наследование механизмов работы с текстом
из Perl&UNIX
• Электронная коммерция - функции платежей
(Cybercash, CyberMUT, VeriSign Payflow Pro и
CCVS)
Скриптовые языки VBScript, JavaScript, CGI
Клиент (браузер)
HTML-страница
Программа
обработчик
Форма ввода
Форма ввода
JavaScript
VBScript
CGI
JSP
ASP
Web-Сервер
Интерпретирующие
среды
Программа
обработчик
Различные языки
программирования
(java,C,Basic,
Pascal,perl, python)
Файловай
система
Mysql
MS SQL
Oracle
PostgreSQL
FAT
NTFS
ext2
NFS
Java Virtual Machine
.NET Framework
Common Language runtime
Модули
База данных
Perl-module
ActiveX компаненты
Java servlets
Необходимый инструментарий
Технология клиент-сервер
1. Веб-сервер
2. ПА - интерпретатор PHP – веббраузер
3. PHP
4. СУБД (MySQL)
Установка веб-сервера Apache
под Windows XP
Варианты:
• http://www.apache.org
• С СДРОМа
преподавателя
• Найти дистрибутив в
локальной сети класса
Файл:
apache_1.3.29-win3x86-no_src.exe
Проверка правильности
установки командой в
окне браузера:
http://localhost/.
Файл настройки сервера mime.types
ServerRoot:
• c:\Program Files\Apache Group\Apache\htdocs
или
• c:\Program Files\Apache Group\Apache\users\
UserDir:
• c:\users\
• Доступ к файлу:
• http://localhost/test.html или http://localhost/~user/test.html
Файлы конфигурации сервера
(~Apache Group\Apache2\conf)
httpd.conf
DocumenRoot:
• F:\site\main\html
ServerRoot:
• c:\Program Files\Apache
Group\Apache\htdocs
или
• c:\Program Files\Apache
Group\Apache\users\
UserDir:
• c:\users\
• Доступ к файлу:
•
http://localhost/test.html или
http://localhost/~user/test.html
• mime.types
text/html
html htm shtml shtm php phtml
Установка MySQL
Работа с MySQL
•
•
•
•
•
•
•
•
•
•
Запуск программы: c:\mysql\bin\mysql
Появится mysql >___ - ожидание ввода команды
Создание БД: create database site_iu6;
Создание таблицы
use site_iu6;
create table tutors (options);
Просмотр результата: show databases;
Просмотр результата: show tables;
Просмотр результата: describe table tutors;
Проверьте результат (show databases)
Работа с таблицами:
use site_iu6;
create table tutors (options);
describe tutors;
alter …
drop…
Заполнение БД (INSERT, SELECT, DELETE, UPDATE, SHOW)
Задание на лабораторную работу
• Установить MySQL, отредактировать файл my.ini или
my.cnf
• Запустить сервер БД (c:\mysql\bin\mysql)
• Создать БД кафедры ИУ6 (create database [if not
exests] site_iu6;
• Проверьте результат (show databases)
• Создайте таблицы:
auth;
count;
guest;
history;
course…
• Заполнение таблиц БД (INSERT, SELECT, DELETE,
UPDATE, SHOW)
Установка PHP под Windows
Варианты:
• http://www.php.net
• С СДРОМа
преподавателя
• Найти дистрибутив в
локальной сети класса
Проверка правильности
установки PHP:
Два вида установки PHP
CGI-скрипт
(php.exe)
httpd.conf:
ScriptAlias /php/ "c:/php/"
AddType application/xhttpd-php .php .phtml
Action application/x-httpdphp "/php/php.exe"
Набор SAPI-модулей,
используемых сервером
(php4isapi.dll)
httpd.conf:
LoadModule php4_module
c:/php/sapi/php4apache.dll
AddType application/x-httpdphp .php .phtml
AddModule mod_php4.c
Два вида установки PHP
CGI-скрипт
Набор SAPI-модулей,
используемых сервером
(php4isapi.dll)
(php.exe)
httpd.conf:
ScriptAlias /php/ "c:/php/"
AddType application/xhttpd-php .php .phtml
Action application/x-httpdphp "/php/php.exe"
httpd.conf:
LoadModule php4_module
c:/php/sapi/php4apache.dll
AddType application/x-httpdphp .php .phtml
AddModule mod_php4.c
• c:\abc_php\
Настройка PHP под Windows
Редактирование файла:
• с:\windows\php.ini
doc_root
doc_root = "c:\Program Files\Apache
Group\Apache\htdocs"
user_dir
user_dir = "c:\users"
extension_dir
extension_dir = "c:\php\extensions"
Настройка PHP под Windows
Редактирование файла:
• с:\windows\php.ini
Расширения:
'extension=php_*.dll'
MS SQL
• extension=php_mssql.dll
Дополнительные
библиотеки
• c:\php\dlls
Проверка настройки сервера и PHP
1. Перезапустить сервер
2. Создать тестовый файл (1.php):
<?php
echo«<h1>Привет всем!</h1>";
?>
3. Поместить файл в директорию
c:\users\your_name
4. Запустить файл из браузера, набрав:
http://localhost/~your_name/1.php
Дистрибутив Денвер
Для начинающих программистов,
желающих научиться работать с PHP
• http://dklab.ru/chicken/web/
Первая PHP-программа
<html>
<head>
<title>Пример</title>
</head>
<body>
<?php echo "<p>Привет, я – скрипт
PHP!</p>";
?>
</body>
</html>
Первая PHP-программа
<html>
<head>
<title>Пример</title>
</head>
<body>
<?php echo
"<p>Привет, я – скрипт
PHP!</p>";
?>
</body>
</html>
<html>
<head>
<title>Пример</title>
</head>
<body>
<p>Привет, я –
скрипт PHP!
</p>
</body>
</html>
PHP-скрипты в HTML-коде:
1.
<? echo "Это простейшая инструкция для
обработки PHP"; ?>
2. <script language="php"> echo "Некоторые редакторы
(FrontPage) предпочитают делать так";
</script>
3. <% echo "Можно использовать теги в стиле ASP ";
%>
Расположение скриптов php
• Там, где разрешен доступ через www,
(например, там же, где лежит домашняя
страничка)
• Если php-файл лежит на локальной
машине, то его можно обработать с
помощью интерпретатора командной
строки
Методы подтверждения и
посылки формы
• Метод GET
• Метод POST
SSI - Server Side Includes
• специальное расширение:
*.shtml или *.shtm
<!- - #command param="value" -->
где # - признак начала SSI-вставки;
command - SSI-команда;
param - параметры SSI-команды.
SSI-команды
<!- - #include virtual="/path/file.ssi" -->
где
include - команда вставки;
virtual - параметр, определяющий, как
трактовать путь - как абсолютный (file)
или как относительный (virtual);
"/path/file.ssi" - путь к включаемому файлу
Download