SlideShare una empresa de Scribd logo
1 de 30
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-сервера
Взаимодействие «клиента-сервер» 
при вызове CGI-обработчика
Почему PHP? 
1. Прост в изучении 
2. Поддерживается почти на всех 
известных платформах 
3. Два самых популярных подхода к 
программированию – объектный и 
процедурный 
4. И многое другое
Взаимодействие с другими 
языками: 
• Поддержка объектов Java и возможность их 
использования в качестве объектов PHP. 
• Расширение CORBA для доступа к 
удаленным объектам 
• Наследование механизмов работы с текстом 
из Perl&UNIX 
• Электронная коммерция - функции платежей 
(Cybercash, CyberMUT, VeriSign Payflow Pro и 
CCVS)
Скриптовые языки VBScript, JavaScript, CGI
Необходимый инструментарий 
Технология клиент-сервер 
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 FilesApache GroupApachehtdocs 
или 
• c:Program FilesApache GroupApacheusers 
UserDir: 
• c:users 
• Доступ к файлу: 
• http://localhost/test.html или http://localhost/~user/test.html
Файлы конфигурации сервера 
(~Apache GroupApache2conf) 
httpd.conf 
DocumenRoot: 
• F:sitemainhtml 
ServerRoot: 
• c:Program FilesApache 
GroupApachehtdocs 
или 
• c:Program FilesApache 
GroupApacheusers 
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:mysqlbinmysql 
• Появится 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:mysqlbinmysql) 
• Создать БД кафедры ИУ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/x-httpd- 
php .php .phtml 
Action application/x-httpd-php 
"/php/php.exe" 
Набор SAPI-модулей, 
используемых сервером 
(php4isapi.dll) 
httpd.conf: 
LoadModule php4_module 
c:/php/sapi/php4apache.dll 
AddType application/x-httpd-php 
.php .phtml 
AddModule mod_php4.c
Два вида установки PHP 
CGI-скрипт 
(php.exe) 
httpd.conf: 
ScriptAlias /php/ "c:/php/" 
AddType application/x-httpd- 
php .php .phtml 
Action application/x-httpd-php 
"/php/php.exe" 
Набор SAPI-модулей, 
используемых сервером 
(php4isapi.dll) 
httpd.conf: 
LoadModule php4_module 
c:/php/sapi/php4apache.dll 
AddType application/x-httpd-php 
.php .phtml 
AddModule mod_php4.c 
• c:abc_php
Настройка PHP под Windows 
Редактирование файла: 
• с:windowsphp.ini 
doc_root 
user_dir 
extension_dir 
doc_root = "c:Program FilesApache 
GroupApachehtdocs" 
user_dir = "c:users" 
extension_dir = "c:phpextensions"
Настройка PHP под Windows 
Редактирование файла: 
• с:windowsphp.ini 
Расширения: 
MS SQL 
Дополнительные 
библиотеки 
'extension=php_*.dll' 
• extension=php_mssql.dll 
• c:phpdlls
Проверка настройки сервера и PHP 
1. Перезапустить сервер 
2. Создать тестовый файл (1.php): 
<?php 
echo«<h1>Привет всем!</h1>"; 
?> 
3. Поместить файл в директорию 
c:usersyour_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" - путь к включаемому файлу

Más contenido relacionado

La actualidad más candente

Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Ontico
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
Nikita Borzykh
 
Solit 2012, Enterprise разработка PHP приложений, Иван Захарченко
Solit 2012, Enterprise разработка PHP приложений, Иван ЗахарченкоSolit 2012, Enterprise разработка PHP приложений, Иван Захарченко
Solit 2012, Enterprise разработка PHP приложений, Иван Захарченко
solit
 
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
rit2011
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
rit2011
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
7bits
 

La actualidad más candente (19)

Install denwer
Install denwerInstall denwer
Install denwer
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
 
Lviv Euro Drupal Camp 2015_От front-end разработки к темизации в Drupal
Lviv Euro Drupal Camp 2015_От front-end разработки к темизации в DrupalLviv Euro Drupal Camp 2015_От front-end разработки к темизации в Drupal
Lviv Euro Drupal Camp 2015_От front-end разработки к темизации в Drupal
 
Catalyst – MVC framework на Perl (RIT 2008)
Catalyst – MVC framework на Perl  (RIT 2008)Catalyst – MVC framework на Perl  (RIT 2008)
Catalyst – MVC framework на Perl (RIT 2008)
 
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
2014.10.15 Мурат Кабилов, Avito.ru #PostgreSQLRussia
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
 
Offzone | Another waf bypass
Offzone | Another waf bypassOffzone | Another waf bypass
Offzone | Another waf bypass
 
WordPress auto-install: просто о сложном
WordPress auto-install: просто о сложномWordPress auto-install: просто о сложном
WordPress auto-install: просто о сложном
 
Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.
 
Base php 1
Base php 1Base php 1
Base php 1
 
07 virtual hosts_ru
07 virtual hosts_ru07 virtual hosts_ru
07 virtual hosts_ru
 
Solit 2012, Enterprise разработка PHP приложений, Иван Захарченко
Solit 2012, Enterprise разработка PHP приложений, Иван ЗахарченкоSolit 2012, Enterprise разработка PHP приложений, Иван Захарченко
Solit 2012, Enterprise разработка PHP приложений, Иван Захарченко
 
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
 
Корневая директория WordPress
Корневая директория WordPressКорневая директория WordPress
Корневая директория WordPress
 
Настройка Apache и PHP
Настройка Apache и PHPНастройка Apache и PHP
Настройка Apache и PHP
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
 

Destacado

Php архитектор - кто он?
Php архитектор - кто он?Php архитектор - кто он?
Php архитектор - кто он?
phpdevby
 

Destacado (6)

Think php 10, parsing with PHP
Think php 10, parsing with PHPThink php 10, parsing with PHP
Think php 10, parsing with PHP
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
Don't worry, do automation
Don't worry, do automationDon't worry, do automation
Don't worry, do automation
 
Php архитектор - кто он?
Php архитектор - кто он?Php архитектор - кто он?
Php архитектор - кто он?
 
HTML5 as a game console
HTML5 as a game consoleHTML5 as a game console
HTML5 as a game console
 
Know yourengines velocity2011
Know yourengines velocity2011Know yourengines velocity2011
Know yourengines velocity2011
 

Similar a PHP

Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)
Ontico
 
Стажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTPСтажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTP
7bits
 
инструментарий
инструментарийинструментарий
инструментарий
igdweb
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
Alexey Kachayev
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Yandex
 
Zend Framework и мультиязычность
Zend Framework и мультиязычностьZend Framework и мультиязычность
Zend Framework и мультиязычность
Stepan Tanasiychuk
 

Similar a PHP (20)

Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)
 
Веб-сервер
Веб-серверВеб-сервер
Веб-сервер
 
Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015
 
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
Как сделать проект с 1 500 000 просмотров в сутки, который не ломается - IzhD...
 
Стажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTPСтажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTP
 
Платформа .NET Core глазами PHP-разработчика
Платформа .NET Core глазами PHP-разработчикаПлатформа .NET Core глазами PHP-разработчика
Платформа .NET Core глазами PHP-разработчика
 
инструментарий
инструментарийинструментарий
инструментарий
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальКак мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон Довгаль
 
php frameworks
php frameworksphp frameworks
php frameworks
 
Phalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP FrameworkPhalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP Framework
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
Vagrant puppet
Vagrant puppetVagrant puppet
Vagrant puppet
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
11 лекция, петр волков
11 лекция, петр волков11 лекция, петр волков
11 лекция, петр волков
 
Как быть с большими сайтами на Word press
Как быть с большими сайтами  на Word pressКак быть с большими сайтами  на Word press
Как быть с большими сайтами на Word press
 
Преимущества PHP 7: от D7 до новой виртуальной машины
Преимущества PHP 7:  от D7 до новой виртуальной машиныПреимущества PHP 7:  от D7 до новой виртуальной машины
Преимущества PHP 7: от D7 до новой виртуальной машины
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NET
 
Zend Framework и мультиязычность
Zend Framework и мультиязычностьZend Framework и мультиязычность
Zend Framework и мультиязычность
 
Php55
Php55Php55
Php55
 

Más de Vasya Petrov

Más de Vasya Petrov (20)

О школе
О школеО школе
О школе
 
Создание сайта на PHP
Создание сайта на PHPСоздание сайта на PHP
Создание сайта на PHP
 
Графика средствами PHP
Графика средствами PHPГрафика средствами PHP
Графика средствами PHP
 
Графика средствами PHP
Графика средствами PHPГрафика средствами PHP
Графика средствами PHP
 
JavaScript-библиотека
JavaScript-библиотекаJavaScript-библиотека
JavaScript-библиотека
 
Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1
 
Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1Подробная презентация JavaScript 6 в 1
Подробная презентация JavaScript 6 в 1
 
Оптимизация CSS
Оптимизация CSSОптимизация CSS
Оптимизация CSS
 
633942
633942633942
633942
 
Основные теги HTML
Основные теги HTMLОсновные теги HTML
Основные теги HTML
 
Работа с текстом в HTML
Работа с текстом в HTMLРабота с текстом в HTML
Работа с текстом в HTML
 
Rabota s massivami_v_php
Rabota s massivami_v_phpRabota s massivami_v_php
Rabota s massivami_v_php
 
Rabota so strokami_v_php
Rabota so strokami_v_phpRabota so strokami_v_php
Rabota so strokami_v_php
 
Внедрение CSS в HTML документ
Внедрение CSS в HTML документВнедрение CSS в HTML документ
Внедрение CSS в HTML документ
 
Tables frames
Tables framesTables frames
Tables frames
 
Javascript
JavascriptJavascript
Javascript
 
CSS Язык описания представлений
CSS Язык описания представленийCSS Язык описания представлений
CSS Язык описания представлений
 
массивы Php
массивы Phpмассивы Php
массивы Php
 
Таблицы Html
Таблицы HtmlТаблицы Html
Таблицы Html
 
еще JavaScript
еще JavaScriptеще JavaScript
еще JavaScript
 

PHP

  • 1. PHP: от средства создания персональных веб-страниц (Personal Home Page) до препроцессора (HypertextPreProceccor) Начало создания
  • 2. История 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
  • 3. Возможности PHP • Создание скриптов ), которые исполняются на стороне сервера • Создание скриптов, выполняющихся в командной строке • Создание GUI-приложений
  • 4. Стандартный интерфейс CGI • CGI-программы – шлюзы для взаимодействия с СУБД, другими системами и выдачи динамической информации • В реальном масштабе времени возвращает результат обработки запроса на экран пользователя • Программа-шлюз может быть создана на языках: C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script • Хранится в директории cgi-bin WWW-сервера
  • 6. Почему PHP? 1. Прост в изучении 2. Поддерживается почти на всех известных платформах 3. Два самых популярных подхода к программированию – объектный и процедурный 4. И многое другое
  • 7. Взаимодействие с другими языками: • Поддержка объектов Java и возможность их использования в качестве объектов PHP. • Расширение CORBA для доступа к удаленным объектам • Наследование механизмов работы с текстом из Perl&UNIX • Электронная коммерция - функции платежей (Cybercash, CyberMUT, VeriSign Payflow Pro и CCVS)
  • 9. Необходимый инструментарий Технология клиент-сервер 1. Веб-сервер 2. ПА - интерпретатор PHP – веб- браузер 3. PHP 4. СУБД (MySQL)
  • 10. Установка веб-сервера Apache под Windows XP Варианты: • http://www.apache.org • С СДРОМа преподавателя • Найти дистрибутив в локальной сети класса Файл: apache_1.3.29-win3x86-no_src.exe Проверка правильности установки командой в окне браузера: http://localhost/.
  • 11. Файл настройки сервера mime.types ServerRoot: • c:Program FilesApache GroupApachehtdocs или • c:Program FilesApache GroupApacheusers UserDir: • c:users • Доступ к файлу: • http://localhost/test.html или http://localhost/~user/test.html
  • 12. Файлы конфигурации сервера (~Apache GroupApache2conf) httpd.conf DocumenRoot: • F:sitemainhtml ServerRoot: • c:Program FilesApache GroupApachehtdocs или • c:Program FilesApache GroupApacheusers UserDir: • c:users • Доступ к файлу: • http://localhost/test.html или http://localhost/~user/test.html • mime.types text/html html htm shtml shtm php phtml
  • 14. Работа с MySQL • Запуск программы: c:mysqlbinmysql • Появится 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)
  • 15. Задание на лабораторную работу • Установить MySQL, отредактировать файл my.ini или my.cnf • Запустить сервер БД (c:mysqlbinmysql) • Создать БД кафедры ИУ6 (create database [if not exests] site_iu6; • Проверьте результат (show databases) • Создайте таблицы: auth; count; guest; history; course… • Заполнение таблиц БД (INSERT, SELECT, DELETE, UPDATE, SHOW)
  • 16.
  • 17. Установка PHP под Windows Варианты: • http://www.php.net Проверка правильности установки PHP: • С СДРОМа преподавателя • Найти дистрибутив в локальной сети класса
  • 18. Два вида установки PHP CGI-скрипт (php.exe) httpd.conf: ScriptAlias /php/ "c:/php/" AddType application/x-httpd- php .php .phtml Action application/x-httpd-php "/php/php.exe" Набор SAPI-модулей, используемых сервером (php4isapi.dll) httpd.conf: LoadModule php4_module c:/php/sapi/php4apache.dll AddType application/x-httpd-php .php .phtml AddModule mod_php4.c
  • 19. Два вида установки PHP CGI-скрипт (php.exe) httpd.conf: ScriptAlias /php/ "c:/php/" AddType application/x-httpd- php .php .phtml Action application/x-httpd-php "/php/php.exe" Набор SAPI-модулей, используемых сервером (php4isapi.dll) httpd.conf: LoadModule php4_module c:/php/sapi/php4apache.dll AddType application/x-httpd-php .php .phtml AddModule mod_php4.c • c:abc_php
  • 20. Настройка PHP под Windows Редактирование файла: • с:windowsphp.ini doc_root user_dir extension_dir doc_root = "c:Program FilesApache GroupApachehtdocs" user_dir = "c:users" extension_dir = "c:phpextensions"
  • 21. Настройка PHP под Windows Редактирование файла: • с:windowsphp.ini Расширения: MS SQL Дополнительные библиотеки 'extension=php_*.dll' • extension=php_mssql.dll • c:phpdlls
  • 22. Проверка настройки сервера и PHP 1. Перезапустить сервер 2. Создать тестовый файл (1.php): <?php echo«<h1>Привет всем!</h1>"; ?> 3. Поместить файл в директорию c:usersyour_name 4. Запустить файл из браузера, набрав: http://localhost/~your_name/1.php
  • 23. Дистрибутив Денвер Для начинающих программистов, желающих научиться работать с PHP • http://dklab.ru/chicken/web/
  • 24. Первая PHP-программа <html> <head> <title>Пример</title> </head> <body> <?php echo "<p>Привет, я – скрипт PHP! </p>"; ?> </body> </html>
  • 25. Первая 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>
  • 26. PHP-скрипты в HTML-коде: 1. <? echo "Это простейшая инструкция для обработки PHP"; ?> 2. <script language="php"> echo "Некоторые редакторы (FrontPage) предпочитают делать так"; </script> 3. <% echo "Можно использовать теги в стиле ASP "; %>
  • 27. Расположение скриптов php • Там, где разрешен доступ через www, (например, там же, где лежит домашняя страничка) • Если php-файл лежит на локальной машине, то его можно обработать с помощью интерпретатора командной строки
  • 28. Методы подтверждения и посылки формы • Метод GET • Метод POST
  • 29. SSI - Server Side Includes • специальное расширение: *.shtml или *.shtm <!- - #command param="value" --> где # - признак начала SSI-вставки; command - SSI-команда; param - параметры SSI-команды.
  • 30. SSI-команды <!- - #include virtual="/path/file.ssi" --> где include - команда вставки; virtual - параметр, определяющий, как трактовать путь - как абсолютный (file) или как относительный (virtual); "/path/file.ssi" - путь к включаемому файлу

Notas del editor

  1. История PHP Язык PHP был разработан как инструмент для решения чисто практических задач. Его создатель, Расмус Лердорф, написал для этого простенькую CGI-оболочку на языке Perl для – сбора статистики посещений. Вскоре выяснилось, что оболочка обладает небольшой производительностью, и пришлось переписать ее заново, но уже на языке Си. После этого исходники были выложены на всеобщее обозрение для исправления ошибок и дополнения. Пользователи сервера, где располагался сайт с первой версией PHP, заинтересовались инструментом, появились желающие его использовать. Так что скоро PHP превратился в самостоятельный проект, и в начале 1995 года вышла первая известная версия продукта, называвшаяся Personal Home Page Tools (средства для персональной домашней страницы). Средства эти были более чем скромными: анализатор кода, понимающий всего лишь несколько специальных команд, и набор утилит, полезных для создания гостевой книги, счетчика посещений, чата и т.п. К середине 1995 года после основательной переработки появилась вторая версия продукта, названная PHP/FI (Personal Home Page / Forms Interpreter – персональная домашняя страница/ интерпретатор форм). Она включала набор базовых возможностей сегодняшнего PHP, возможность автоматически обрабатывать html-формы и встраиваться в html-коды. Синтаксис PHP/FI сильно напоминал синтаксис Perl, но был более простым. В 1997 вышла вторая версия Cи-реализации PHP – PHP/FI 2.0. К тому моменту PHP использовали уже несколько тысяч людей по всему миру, примерно с 50 тыс. доменов, что составляло около 1% всего числа доменов Internet. Число разработчиков PHP увеличилось до нескольких человек, но, несмотря на это, PHP/FI 2.0 все еще оставался крупным проектом одного человека. Официально PHP/FI 2.0 вышел только в ноябре 1997 года, просуществовав до этого в основном в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0.
  2. PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. Он очень сильно отличался от PHP/FI 2.0 и появился опять же как инструмент для решения конкретной прикладной задачи. Его создатели, Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski), в 1997 году переписали заново код PHP/FI, поскольку он показался им непригодным для разработки приложения электронной коммерции, над которым они работали. Для того чтобы получить помощь в реализации проекта от разработчиков PHP/FI, Гутманс и Сураски решили объединиться с ними и объявить PHP3 официальным преемником PHP/FI. После объединения разработка PHP/FI была полностью прекращена. Одной из сильных сторон PHP 3.0 была возможность расширения ядра. Именно свойство расширяемости PHP 3.0 привлекло внимание множества разработчиков, желающих добавить свой модуль расширения. Кроме того, PHP 3.0 предоставляла широкие возможности для взаимодействия с базами данных, различными протоколами и API. Немаловажным шагом к успеху оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП. С момента появления PHP 3.0 изменилась не только функциональность и внутреннее устройство языка, но и его название. В аббревиатуре PHP больше не было упоминания о персональном использовании, PHP стало сокращением (рекурсивным акронимом) от PHP: Hypertext Preprocessor, что значит «PHP: препроцессор гипертекста». К концу 1998 года число пользователей PHP возросло до десятков тысяч. Сотни тысяч web-сайтов сообщали о том, что они работают с использованием этого языка. Почти на 10% серверов Internet был установлен PHP 3.0. Официально PHP 3.0 вышел в июне 1998 года, после 9 месяцев публичного тестирования. А уже к зиме Энди Гутманс и Зив Сураски начали переработку ядра PHP. В их задачи входило увеличение производительности работы сложных приложений и улучшение модульности кода, лежащего в основе PHP. Новое ядро было названо «Zend Engine» (от имен создателей: Zeev и Andi) и впервые представлено в середине 1999 года. PHP 4.0, основанный на этом ядре и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после своего предшественника, PHP 3.0. Помимо улучшения производительности, PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций. В настоящее время ведутся работы по улучшению Zend Engine и внедрению нововведений в PHP 5.0, первые бета-версии которого уже вышли в свет. Одно из существенных изменений произошло в объектной модели языка, ее основательно подлатали и добавили много новых возможностей. Сегодня PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов написаны на PHP, что составляет более 20% доменов Internet.
  3. «PHP может все», – заявляют его создатели. В первую очередь PHP используется для создания скриптов, работающих на стороне сервера, для этого его, собственно, и придумали. PHP способен решать те же задачи, что и любые другие CGI-скрипты, в том числе обрабатывать данные html-форм, динамически генерировать html страницы и т.п. Но есть и другие области, где может использоваться PHP. Всего выделяют три основные области применения PHP. Первая область, как уже говорилось, – это создание приложений (скриптов), которые исполняются на стороне сервера. PHP наиболее широко используется именно для создания такого рода скриптов. Для того чтобы работать таким образом, понадобится PHP-парсер (т.е. обработчик php-скриптов) и web-сервер для обработки скрипта, браузер для просмотра результатов работы скрипта, ну, и, конечно, какой-либо текстовый редактор для написания самого php-кода. Парсер PHP распространяется в виде CGI-программы или серверного модуля. Как установить его и web-сервер на свой компьютер, мы рассмотрим немного позднее. В этом курсе мы будем обсуждать, как правило, создание именно серверных приложений, как пример использования языка PHP. Вторая область – это создание скриптов, выполняющихся в командной строке. То есть с помощью PHP можно создавать такие скрипты, которые будут исполняться, вне зависимости от web-сервера и браузера, на конкретной машине. Для такой работы потребуется лишь парсер PHP (в этом случае его называют интерпретатором командной строки (cli, command line interpreter)). Этот способ работы подходит, например, для скриптов, которые должны выполняться регулярно с помощью различных планировщиков задач или для решения задач простой обработки текста. И последняя область – это создание GUI-приложений (графических интерфейсов), выполняющихся на стороне клиента. В принципе это не самый лучший способ использовать PHP, особенно для начинающих, но если вы уже досконально изучили PHP, то такие возможности языка могут оказаться весьма полезны. Для применения PHP в этой области потребуется специальный инструмент – PHP-GTK, который является расширением PHP.
  4. CGI - Common Gateway Interface является стандартом интерфейса (связи) внешней прикладной программы с информационным сервером типа HTTP, Web-сервер, предназначен для создания серверных приложений, работающих по протоколу HTTP. Обычно гипертекстовые документы, извлекаемые из WWW серверов, содержат статические данные. С помощью CGI можно создавать CGI-программы, называемые шлюзами, которые во взаимодействии с такими прикладными системами, как система управления базой данных, электронная таблица, деловая графика и др., смогут выдать на экран пользователя динамическую информацию. Программа-шлюз запускается WWW сервером в реальном масштабе времени. Сервер передает запрос пользователя CGI-программе - шлюзу, а она в свою очередь, используя средства прикладной системы, возвращает результат обработки запроса на экран пользователя. Программа-шлюз может быть закодирована на языках C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script. Как выполнимый модуль, она записывается в поддиректорий с именем cgi-bin WWW сервера. Шлюз осуществляет свой вывод в стандартный поток вывода. Этот вывод может представлять собой или документ, сгенерированный шлюзом, или инструкции серверу, где получить необходимый документ. Как правило, шлюз производит свой вывод, который интерпретируется и посылается обратно клиенту. Преимущество этого подхода состоит в том, что шлюз не должен посылать полный HTTP/1.0 заголовок на каждый запрос
  5. Итак, область применения PHP достаточно обширна и разнообразна. Тем не менее существует множество других языков программирования, способных решать похожие задачи. Почему стоит изучать PHP? Что это нам дает? Во-первых, PHP очень прост в изучении. Достаточно ознакомиться лишь с основными правилами синтаксиса и принципами его работы, и можно начинать писать собственные программы, причем браться за такие задачи, решение которых на другом языке требовало бы серьезной подготовки. Во-вторых, PHP поддерживается почти на всех известных платформах, почти во всех операционных системах и на самых разных серверах. Это тоже очень важно. Вряд ли кому-то захочется переходить, например, от работы под Windows к работе под Linux или от сервера IIS к серверу Apache только для того, чтобы изучить еще один язык программирования. В PHP сочетаются две самые популярные парадигмы программирования – объектная и процедурная. В PHP4 более полно поддерживается процедурное программирование, но есть возможность писать программы и в объектном стиле. Уже в первых пробных версиях PHP5 большинство недочетов в реализации объектно-ориентированной модели языка, существующих в PHP4, устранены. Таким образом, можно выбрать наиболее привычный стиль работы. Если говорить о возможностях сегодняшнего PHP, то они выходят далеко за рамки тех, что были реализованы в его первых версиях. С помощью PHP можно создавать изображения, PDF-файлы, флэш-ролики, в него включена поддержка большого числа современных баз данных, встроены функции для работы с текстовыми данными любых форматов, включая XML, и функции для работы с файловой системой. PHP поддерживает взаимодействие с различными сервисами посредством соответствующих протоколов, таких как протокол управления доступом к директориям LDAP, протокол работы с сетевым оборудованием SNMP, протоколы передачи сообщений IMAP, NNTP и POP3, протокол передачи гипертекста HTTP и т.д.
  6. Обращая внимание на взаимодействие между различными языками, следует упомянуть о поддержке объектов Java и возможности их использования в качестве объектов PHP. Для доступа к удаленным объектам можно использовать расширение CORBA. Для работы с текстовой информацией PHP унаследовал (с небольшими изменениями) механизмы работы с регулярными выражениями из языка Perl и UNIX-систем. Для обработки XML-документов можно использовать как стандарты DOM и SAX, так и API для XSLT-трансформаций. Для создания приложений электронной коммерции существует ряд полезных функций, таких как функции осуществления платежей Cybercash, CyberMUT, VeriSign Payflow Pro и CCVS
  7. Объектно-ориентированные языки VBScript JavaScript Язык Visual Basic Scripting Edition (VBScript) – это объектно-ориентированный язык для написания небольших программ (которые называются скриптами), которые располагаются внутри HTML-документа и предназначены для проверки вводимых пользователем данных, автоматического изменения содержимого документа и других задач. Такие программы выполняются на стороне клиента – они не взаимодействуют с сервером и не используют каких-либо других ресурсов (например, не могут обратиться к файловой системе клиента). Данный язык является подмножеством языка Visual Basic Язык JavaScript является системно-независимым и совместим между всеми типами компьютеров, работающими в Интернет. Программы на языке JavaScript включаются в состав HTML документа и, фактически, этот язык может считаться расширением состава команд HTML. Поэтому для создания программ на JavaScript не требуется никаких дополнительных средств, необходим лишь браузер, поддерживающий JavaScript. Программный продукт JavaScript - является интерпретируемым; использует встроенные расширяемые объекты, но никаких классов или наследований не имеет; он вложен в HTML; типы данных не обьявляются; выполняется динамическое связывание, ссылки проверяются во время выполнения. Данный язык создан на основе языка JAVA
  8. Возможности языка мы обсудили, области применения рассмотрели, историю изучили. Теперь можно приступать к установке необходимого инструментария. Поскольку в качестве практической основы курса мы будем рассматривать задачи, решаемые с помощью технологии клиент-сервер, и PHP соответственно будет использоваться для создания скриптов, обрабатываемых сервером, нам нужно установить web-сервер и интерпретатор PHP. В качестве web-сервера выберем, например, Apache, как наиболее популярный среди web-разработчиков. Для просмотра результатов работы программ нам понадобится web-браузер, например Internet Explorer.
  9. Скачать ПО для установки Apache можно, например, с его официального сайта http://www.apache.org. Мы скачали файл apache_1.3.29-win3x86-no_src.exe. Это автоматический установщик (иначе – wizard) сервера Apache под Windows. Эта программа попытается почти самостоятельно (а точнее, с минимальными усилиями с вашей стороны) установить на компьютер сервер Apache. После нажатия кнопки Install начнется непосредственная установка сервера. От пользователя никаких дополнительных действий больше не требуется. С одной стороны, это хорошо, но есть у такой автоматизированной установки и некоторые недостатки. Например, домашние директории пользователей оказываются там же, где и файлы настроек сервера (c:\Program Files\Apache Group\Apache\users\). Это небезопасно, если на компьютере работает несколько пользователей, не являющихся администраторами сервера. Но для начала можно ничего не менять. Допустим, мы запустили установщик, ввели все необходимые данные, он выполнил все операции успешно и говорит, что сервер установлен. Как проверить, действительно ли сервер установлен? Набираем в окне браузера http://localhost/. Если все установилось правильно, мы получим страничку приветствия сервера Apache (см. рис. 1.8).
  10. Итак, сервер установлен. Как теперь с ним работать? Откуда можно запускать скрипты и где должны находиться файлы пользователей? Файлы, которые должны быть обработаны сервером, можно сохранять либо в корне сервера (в нашем случае это c:\Program Files\Apache Group\Apache\htdocs ), либо в директориях пользователей (в нашем случае это c:\Program Files\Apache Group\Apache\users\). Местоположение корня сервера и директорий пользователей прописано в настройках сервера, а точнее, в файле конфигурации httpd.conf (найти его можно в c:\Program Files\Apache Group\Apache\conf ). Для изменения этих путей нужно изменить соответствующие переменные в файле конфигурации сервера. Переменная в файле конфигурации ServerRoot отвечает за корневую директорию сервера, а переменная UserDir – за директорию, где будут располагаться файлы пользователей сервера (для более безопасной работы советуем изменить переменную UserDir на что-нибудь типа c:\users\). Чтобы получить доступ к файлу test.html, находящемуся в корне сервера, нужно набрать в браузере http://localhost/test.html (т. е. имя хоста, имя файла). Если же файл test.html находится в директории пользователя user, то для его просмотра нужно набрать в браузере http://localhost/~user/test.html.
  11. Итак, сервер установлен. Как теперь с ним работать? Откуда можно запускать скрипты и где должны находиться файлы пользователей? Файлы, которые должны быть обработаны сервером, можно сохранять либо в корне сервера (в нашем случае это c:\Program Files\Apache Group\Apache\htdocs ), либо в директориях пользователей (в нашем случае это c:\Program Files\Apache Group\Apache\users\). Местоположение корня сервера и директорий пользователей прописано в настройках сервера, а точнее, в файле конфигурации httpd.conf (найти его можно в c:\Program Files\Apache Group\Apache\conf ). Для изменения этих путей нужно изменить соответствующие переменные в файле конфигурации сервера. Переменная в файле конфигурации ServerRoot отвечает за корневую директорию сервера, а переменная UserDir – за директорию, где будут располагаться файлы пользователей сервера (для более безопасной работы советуем изменить переменную UserDir на что-нибудь типа c:\users\). Чтобы получить доступ к файлу test.html, находящемуся в корне сервера, нужно набрать в браузере http://localhost/test.html (т. е. имя хоста, имя файла). Если же файл test.html находится в директории пользователя user, то для его просмотра нужно набрать в браузере http://localhost/~user/test.html.
  12. NOTE: If you install MySQL in a folder other than C:\MYSQL or you intend to start MySQL on NT/Win2000 as a service, you must create a file named C:\MY.CNF or \Windows\my.ini or \winnt\my.ini with the following information:: [mysqld] basedir=E:/installation-path/ datadir=E:/data-path/ After your have installed MySQL, the installation directory which contains the files named &amp;apos;my-size.cnf&amp;apos;. You can use this as a starting point for your own C:\my.cnf file.
  13. Перейдем к установке PHP. Скачать его дистрибутив можно с официального сайта PHP – http://www.php.net. Для удобства лучше выбрать автоматический инсталлятор, как и в случае с сервером. Самое первое окошко при такой установке PHP содержит приветствие и предупреждение о существовании авторских прав на этот продукт (рис. 1.9). Затем выбираем тип установки: стандартный или для специалистов. Мы выберем стандартную установку (рис. 1.11). В следующем окне программа предложит выбрать директорию для установки PHP. Туда будут скопированы файлы библиотек, расширений, интерпретатор командной строки, модули и т.п. (рис. 1.12). В следующем окошке предлагается ввести адрес SMTP-сервера, т.е. сервера отправки почтовых сообщений, и обратный адрес отправителя почты. Это окошко мы приводить не будем. Далее предлагается выбрать из списка сервер, с которым будет работать PHP. Поскольку мы установили Apache, то выберем из списка именно его (рис. 1.13).
  14. После копирования необходимых файлов мы получили сообщение, показанное на слайде. Это значит, что нужно настраивать сервер Apache для работы с PHP вручную Сначала следует выбрать, как мы хотим установить PHP, поскольку он поставляется в двух видах: CGI-скрипт (php.exe) или набор SAPI-модулей (например, php4isapi.dll), используемых сервером. Последний вариант обладает новыми возможностями, однако из-за недостаточной проработанности может функционировать недостаточно надежно, особенно на платформах старше Windows 2000 (может появляться куча ошибок 500, могут возникать сбои в других серверных модулях, таких как ASP). Так что, если нужна абсолютная стабильность – надо выбирать установку PHP в виде CGI выполнимого приложения. Если мы хотим установить PHP как серверный модуль, то в файле конфигурации сервера (httpd.conf) нужно написать: LoadModule php4_module c:/php/sapi/php4apache.dll AddType application/x-httpd-php .php .phtml AddModule mod_php4.c Если мы устанавливаем PHP как cgi-программу, то в httpd.conf нужно написать: ScriptAlias /php/ &amp;quot;c:/php/&amp;quot; AddType application/x-httpd-php .php .phtml Action application/x-httpd-php &amp;quot;/php/php.exe&amp;quot;
  15. В этом случае могут возникнуть проблемы с безопасностью. Рекомендуется исправить директорию, где лежит исполняемый файл интерпретатора (c:\php\), на что-нибудь менее очевидное (например, на c:\abc_php\). Мы советуем устанавливать PHP как серверный модуль.
  16. Еще нужно отредактировать файл php.ini (в папке c:\Windows), чтобы PHP «знал», где находится корневая директория сервера, где пользовательские директории, а где его собственные библиотеки расширений. За это в файле php.ini отвечают соответственно переменные doc_root, user_dir и extension_dir. Зададим их таким образом:
  17. Кроме того, можно выбрать расширения, которые будут загружаться при запуске PHP. В реализацию PHP под Windows изначально входит очень мало расширений. Чтобы загрузить расширение, нужно раскомментировать в php.ini соответствующую ему строчку &amp;apos;extension=php_*.dll&amp;apos;. Например, чтобы загрузить расширение для работы с MSSQL, нужно раскомментировать строку &amp;apos;extension=php_mssql.dll&amp;apos;. Некоторые расширения требуют дополнительных библиотек. Поэтому рекомендуется скопировать дополнительные библиотеки в системную директорию (из папки c:\php\dlls). При первой установке следует настроить и протестировать PHP без расширений.
  18. Для того, чтобы настройки, выполненные в конфигурационных файлах сервера и PHP вступили в силу, нужно перезапустить сервер. Проверим, работает ли PHP. Для этого создадим тестовый файл (1.php) в директории пользователя (c:\users\nina) со следующим содержанием: &amp;lt;?php echo&amp;quot;&amp;lt;h1&amp;gt;Привет всем!&amp;lt;/h1&amp;gt;&amp;quot;; ?&amp;gt; Запустим этот файл через браузер, набрав http://localhost/~nina/1.php. Если что-то не так, то на экран будет выведен текст этого файла. Если все хорошо, то наш скрипт должен обработаться сервером и вывести большими буквами строку «Привет всем!».
  19. Мы достаточно подробно рассмотрели установку и настройку PHP для платформ Linux и Windows. Для тех, кто не желает вникать в устройство PHP и требуемых для его работы компонентов, существуют готовые дистрибутивы, содержащие все наиболее распространенные расширения PHP. Один из самых известных – дистрибутив Денвер (http://dklab.ru/chicken/web/). Инструкции по его установке можно прочитать на сайте разработчиков. Отметим только, что его установка достаточно проста и не требует особых навыков. Этот дистрибутив можно рекомендовать для начинающих программистов, желающих научиться работать с PHP. Для более серьезных задач лучше все же установить и настроить PHP самостоятельно
  20. По большому счету, первую PHP-программу вы уже создали, когда проверяли, работает ли интерпретатор PHP (в предыдущей главе). Сейчас мы хотим более подробно рассказать о том, что представляет собой PHP-программа и чем она отличается от программ на языках Cи, Perl и JavaScript. Рассмотрим пример. Это простой HTML-файл, в который встроен с помощью специальных тегов код, написанный на языке PHP. Как мы уже отмечали выше, PHP похож на Cи и Perl. Однако приведенная здесь программа сильно отличается от аналогичных по смыслу программ на языках Cи и Perl. Здесь не нужно писать кучу специальных команд для вывода HTML. Пишется непосредственно HTML-скрипт, в который можно встраивать PHP-код, осуществляющий какие-либо действия (например, выводящий текст на экран, как в нашем примере). Недостатком PHP по сравнению с Cи и Perl, несмотря на все усилия разработчиков, все еще является недостаточная быстрота выполнения сложных скриптов.
  21. PHP-скрипты – это программы, которые выполняются и обрабатываются сервером. Так что сравнивать его со скриптовыми языками типа JavaScript невозможно, потому что написанные на них скрипты выполняются на машине клиента. В чем отличие скриптов, выполняемых на сервере и на клиенте? Если скрипт обрабатывается сервером, клиенту посылаются только результаты работы скрипта. Например, если на сервере выполнялся скрипт, подобный приведенному выше, клиент получит сгенерированную HTML-страницу вида справа В этом случае клиент не знает, какой код выполняется. Можно даже сконфигурировать свой сервер таким образом, чтобы HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат выполнения скрипта. Если же скрипт обрабатывается клиентом (например, это программа на языке JavaScript), то клиент получает страницу, содержащую код скрипта.
  22. Мы отмечали выше, что PHP-скрипты встраиваются в HTML-код. Возникает вопрос, каким образом? Есть несколько способов. Один из них приведен в самом первом примере – с помощью открывающего тега &amp;lt;?php и закрывающего тега ?&amp;gt;. Такого вида специальные теги позволяют переключаться между режимами HTML и PHP. Этот синтаксис наиболее предпочтителен, поскольку позволяет задействовать PHP в XML-совместимых программах (например, написанных на языке XHTML), но тем не менее можно использовать следующие альтернативные варианты (команда echo &amp;quot;Some text&amp;quot;; выводит на экран текст «Some text».): Первый из этих способов не всегда доступен. Чтобы им пользоваться, нужно включить короткие теги либо с помощью функции short_tags() для PHP 3, либо включив установку short_open_tag в конфигурационном файле PHP, либо скомпилировав PHP с параметром --enable-short-tags. Даже если это включено по умолчанию в php.ini-dist, использование коротких тегов не рекомендуется. Второй способ аналогичен вставке, например, JavaScript-кода и использует для этого соответствующий html тег. Поэтому использовать его можно всегда, но это делается редко из-за его громоздкости. Третий способ можно применить, только если теги в стиле ASP были включены, используя конфигурационную установку asp_tags. Когда PHP обрабатывает файл, он просто передает его текст, пока не встретит один из перечисленных специальных тегов, который сообщает ему о необходимости начать интерпретацию текста как кода PHP. Затем он выполняет весь найденный код до закрывающего тега, говорящего интерпретатору, что далее снова идет просто текст. Этот механизм позволяет внедрять PHP-код в HTML – все за пределами тегов PHP остается неизменным, тогда как внутри интерпретируется как код. Заметим также, что php-файл не похож на CGI-скрипт. Php файл не должен быть исполнимым или еще каким-либо образом помеченным.
  23. Для того чтобы отправить php-файл на обработку серверу, нужно в строке браузера набрать путь к этому файлу на сервере. Скрипты php должны располагаться там, где разрешен доступ через www, например, там же, где лежит домашняя страничка. Если php-файл лежит на локальной машине, то его можно обработать с помощью интерпретатора командной строки.
  24. Когда нажимается кнопка submit, содержимое формы будет добавлено к URL в следующей форме: action?name=value&amp;name=value&amp;name=value (здесь &amp;quot;action&amp;quot; - URL, заданное атрибутом ACTION в тэге FORM, или URL текущего документа, если атрибут ACTION не был задан). Нестандартные символы в примерах &amp;quot;name&amp;quot; или &amp;quot;value&amp;quot; будут опущены, при этом имеются в виду также &amp;quot;=&amp;quot; and &amp;quot;&amp;&amp;quot;. Это означает, что включения &amp;quot;=&amp;quot;, которые разделяют имена и значения (names и values), и включения &amp;quot;&amp;&amp;quot;, которые разделяют пары name/value, не опускаются. Для полей ввода текста и пароля, значением будет то, что введет пользователь. Если пользователь оставит это поле пустым, значение value также будет пустым , но в строке запроса будет присутствовать фрагмент &amp;quot;name=&amp;quot;. Для кнопок типа checkbox и radio button, значение value определяется атрибутом VALUE в том случае, когда кнопка отмечена. Неотмеченные кнопки при составлении строки запроса игнорируются целиком. Несколько кнопок типа checkbox могут иметь один атрибут NAME (и различные VALUE), если это необходимо. Кнопки типа radio button предназначены для того, чтобы вести себя по принципу &amp;quot;одна из всех&amp;quot; и должны иметь одинаковый атрибут NAME и различные атрибуты VALUE. POST: Содержимое формы кодируется точно как для метода GET (см. выше), но вместо добавления содержимого формы к URL, заданной атрибутом формы ACTION, в качестве запроса, содержимое посылается блоком данных как часть операции POST. Если присутствует атрибут ACTION, то значение URL, которое там находится, определяет, куда послать этот блок данных. Этот метод особенно рекомендуется при посылке больших блоков данных.
  25. Поскольку нам предстоит поддерживать достаточно большой по объему сайт, имеющий определенную структуру и повторяющиеся элементы кода на всех страничках, следует использовать SSI - Server Side Includes или в переводе - включения на стороне сервера. SSI - это директивы, вставляемые прямо в HTML-код и служащие для передачи указаний Wев-серверу. Встречая такие директивы, которые, кстати, называются SSI-вставками, Web-сервер интерпретирует их и выполняет соответствующие действия, такие как, вставка HTML-фрагмента из другого файла, динамическое формирование страничек в зависимости от некоторых переменных (например, типа браузера) и другие. Вообще, при применении серверных включений сайт удобно рассматривать как состоящий из отдельных блоков, каждый из которых отвечает за свою часть странички. Эти блоки практически неизменны и повторяются от страницы к странице. В эти блоки можно вынести такие элементы странички как: главное меню, рекламные вставки, повторяющиеся элементы оформления страничек и т.д. Физически эти блоки представляют собой просто HTML-файлы, содержащие часть кода, нужную для выполнения их задачи. Полная страничка формируется web-сервером на лету, собирая код странички из таких вот блоков. Для того, чтобы указать серверу, какой блок нужно вставить и в каком месте странички, используется специальная форма записи в виде комментария. Вот такая
  26. SSI-команд насчитывается около десятка, опишем только команду, используемую при разработке сайта. Это самая популярная команда - это команда включения содержимого одного файла в другой: Результатом ее выполнения будет вставка содержимого файла file.ssi в месте появления данной директивы. При просмотре сформированного исходного HTML-файла мы не увидим никаких признаков SSI, т.к. данный механизм действует абсолютно прозрачно для браузеров, они получают исключительно корректный HTML-код.