SlideShare une entreprise Scribd logo
1  sur  23
Введение
• Что такое PHP 5
• Преимущества
• Принцип работы интерпритатора
• Обзор и выбор инструментов разработки
• Установка и настройка инструментов
• Выбор среды разработки
• Основы работы Web-сервера и Клиента
• Полезная информация
Что такое PHP ?
PHP :Hypertext Preprocessor – это широко
используемый язык программирования,
специально разработанный для написания
как статических так и динамических web-
приложений(сценариев), исполняющихся на
web-сервере.
Преимущества PHP 5
• Бесплатное использование
• Кроссплатформенность
• Прост в обучении
• Гибкость
• Поддержка многими хостингами
• Поддержка большинства СУБД
• Постоянно развивается
Принцип работы интерпретатора
• Лексический анализ исходного кода, и генерация
лексем (преобразование слов в команды языка)
• Синтаксический анализ полученных лексем
• Генерация байт-кода (промежуточного кода)
• Выполнение байт-кода интерпретатором
* Все эти операции выполняются автоматически
самим ядром PHP, а также ядро реализует средства
автоматического управления памятью
(распределением, освобождением и выделением)
Выбор инструментов разработки
Вариант 1 (Рекомендованный)
• Пакет Denwer
Состав:
- Web-сервер (Apache)
- PHP 5.x
- СУБД (MySQL)
- phpMyAdmin / (Navicat)
- Отладочный эмулятор
___ sendmail
Вариант 2
• Web-сервер (nginx,
Apache, IIS)
• СУБД (MySQL, PostgreSQL)
• PHP 5.x
• Navicat / phpMyAdmin
Установка и настройка инструментов
• Для установки «Варианта 1» достаточно
следовать инструкции инсталлятора.
Инсталлятор сам установит и настроит
программное обеспечение, которое входит
в данный пакет или дистрибутив.
Установка «варианта 2»:
Рассмотрим связку Apache + PHP + MySQL
Для начала необходимо скачать, их
установочные файлы.
Потом их установить и сконфигурировать.
Подробная инструкция по установке:
http://www.cyberforum.ru/apache/thread83339.ht
ml
Установка и настройка инструментов
• Notepad++ или любой другой текстовый
редактор
• PHP IDE (PhpED, PHPEdit, phpDesigner,
Komodo IDE, Free Komodo Edit, TextMate,
PHP Expert Editor, Code Lobster)
• Клиент для работы с СУБД
Выбор среды разработки
Основы работы Web-Сервера и Клиента
• Web-Сервер – это ПО либо рабочая станция которая
принимает HTTP-запросы от клиентов и выдает им HTTP-
ответы, как правило вместе с контентом (HTML-страница,
изображения, поток, файл и т.д)
• Web-Серверы могут иметь дополнительные функции
такие, как:
- Автоматизация работы веб-страниц
- Логирование
- аутенфикация и авторизация пользователей
- поддержка HTTPS для защищенных соединений
• Клиенты – это ПО либо устройство, а также
другой Веб-Сервер , которое обращается к
Веб-серверу, с помощью протокола
HTTP/HTTPS
• В большинстве случаев клиентом
выступает Браузер, который передает Веб-
Серверу запросы на получение
интересующих его ресурсов
Основы работы Web-Сервера и Клиента
• Схема взаимодействия Клиент – Веб-Сервер
Основы работы Web-Сервера и Клиента
Наиболее
распространенная
клиент-серверная
архитектура
используемая при
Разработке в WEB
Основы работы Web-Сервера и Клиента
Основы работы Web-Сервера и Клиента
Пример
обработки
запроса
сервером
• HTTP-протокол (англ HyperText Transfer Protocol —
«протокол передачи гипертекста»)
• HTTP-запрос делится на заголовок и тело
• Пример заголовка:
GET /page.html HTTP /1.1
Accept: */*
Accept-Languge: en-us
Connection: Keep-Alive
Host: site.ru
Referer: http://google.com
User-Agent: Mozila
Основы работы Web-Сервера и Клиента
• HTTP-заголовок , строка запроса
GET /page.html HTTP /1.1.
Данная строка содержит 3 информационных
блока: Метод передачи данных, путь к
ресурсу, версию протокола
Основы работы Web-Сервера и Клиента
• Протокол HTTP поддерживает достаточно
большое количество методов передачи
данных, но 3 метода являются наиболее
распространёнными , образующие своего
рода негласный стандарт.
• Все эти методы указываю серверу как ему
следует обработать переданный ему запрос
Основы работы Web-Сервера и Клиента
• Метод GET
Запрос на информацию на расположеную, по какому-
то адресу. Также данный метод может передавать
данные на сервер , с помощью адресной строки.
• Метод HEAD
То же , что и метод GET, но в отличие от предыдущего
метода, запрашивает только HTTP-заголовок без данных
• Метод POST
Указывает на то, что данные отправляются серверу.
Данный метод не может получать данные от сервера.
Основы работы Web-Сервера и Клиента
• HTTP-ответ – это ответ веб-сервера клиенту, на
его запрос
• HTTP-ответ состоит из строки ответа, заголовка
и тела
HTTP /1.1 200 OK
Date: Fri, 31st Oct 2013 18:14:31 GMT
Server: Apache /2.0.1 (Unix) PHP 5.2.2
Last-Modified: Fri, 31st Oct 2013 18:14:31 GMT
Основы работы Web-Сервера и Клиента
• 100-199 : Информационный, указывает, что запрос в
настоящее время обрабатывается
• 200-299 : Отмечает, что сервер получил и успешно
выполнил запрос
• 300-399: Указывает на то ,что запрос не был
выполнен из-за того, что ресур был перемещен
• 400-499: Означает клиентскую ошибку (запрос был
неполным, некорректным или невозможным)
• 500-599 : Означает серверную ошибку(запрос был
корректным, но сервер не смог его выполнить)
Основы работы Web-Сервера и Клиента
• HTTP-ответ , тело ответа
Если запрос был успешным, то тело запроса
содержит сгенерированный сервером HTML
код. Если запрос был безуспешным, то
возвращается код ошибки.
Полезные ресурсы
• http://php.net/
• http://php.su/
• http://www.cyberforum.ru/
Домашнее задание
• Установить минимальный пакет ПО (Веб-
Сервер и PHP 5.x)
• Настроить свое ПО
• Ознакомиться с документацией своего веб-
сервера и PHP

Contenu connexe

Tendances

Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017Николай Лавлинский
 
Проверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с JmeterПроверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с JmeterAleksey Derkach
 
03 web server_architecture_ru
03 web server_architecture_ru03 web server_architecture_ru
03 web server_architecture_rumcroitor
 
Impress Application Server for node.js (ru)
Impress Application Server for node.js (ru)Impress Application Server for node.js (ru)
Impress Application Server for node.js (ru)Timur Shemsedinov
 
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...Positive Hack Days
 
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish CacheУскоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish CacheIgor Sazonov
 
01 server definition
01 server definition01 server definition
01 server definitionmcroitor
 
Drupal 6 performance
Drupal 6 performanceDrupal 6 performance
Drupal 6 performanceAnton Ivanov
 
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)Ontico
 
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Ontico
 
Cloudmail - корпоративная web-почта
Cloudmail - корпоративная web-почтаCloudmail - корпоративная web-почта
Cloudmail - корпоративная web-почтаЕлена Кузовкина
 
Балансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в ОдноклассникахБалансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в ОдноклассникахOntico
 
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Sergey Xek
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...rit2011
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Ontico
 
Network and protocols(Lection 2 by Operation System)
Network and protocols(Lection 2 by Operation System)Network and protocols(Lection 2 by Operation System)
Network and protocols(Lection 2 by Operation System)Vitaly Sotnikov
 

Tendances (20)

Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
 
Проверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с JmeterПроверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с Jmeter
 
03 web server_architecture_ru
03 web server_architecture_ru03 web server_architecture_ru
03 web server_architecture_ru
 
Impress Application Server for node.js (ru)
Impress Application Server for node.js (ru)Impress Application Server for node.js (ru)
Impress Application Server for node.js (ru)
 
Правильный REST API
Правильный REST APIПравильный REST API
Правильный REST API
 
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
 
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish CacheУскоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
 
01 server definition
01 server definition01 server definition
01 server definition
 
Drupal 6 performance
Drupal 6 performanceDrupal 6 performance
Drupal 6 performance
 
Major mistakes in site moving
Major mistakes in site movingMajor mistakes in site moving
Major mistakes in site moving
 
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
 
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
 
HTML Бесплатное размещение
HTML Бесплатное размещениеHTML Бесплатное размещение
HTML Бесплатное размещение
 
Cloudmail - корпоративная web-почта
Cloudmail - корпоративная web-почтаCloudmail - корпоративная web-почта
Cloudmail - корпоративная web-почта
 
Балансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в ОдноклассникахБалансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в Одноклассниках
 
Speed Up Your Website
Speed Up Your WebsiteSpeed Up Your Website
Speed Up Your Website
 
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
 
Network and protocols(Lection 2 by Operation System)
Network and protocols(Lection 2 by Operation System)Network and protocols(Lection 2 by Operation System)
Network and protocols(Lection 2 by Operation System)
 

En vedette

Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Noveo
 
Управление бизнесом на основе данных
Управление бизнесом на основе данныхУправление бизнесом на основе данных
Управление бизнесом на основе данныхKonstantin Savenkov
 
презентация 4. введение в css
презентация 4. введение в cssпрезентация 4. введение в css
презентация 4. введение в cssRusov1
 
презентация лекция 3 (1)
презентация лекция 3 (1)презентация лекция 3 (1)
презентация лекция 3 (1)Victor Salimgareev
 
презентация 6
презентация 6презентация 6
презентация 6Rusov1
 
Обзор интернет браузеров
Обзор интернет браузеровОбзор интернет браузеров
Обзор интернет браузеровAlina Kolosova
 
Эссе по теме браузеры
Эссе по теме браузерыЭссе по теме браузеры
Эссе по теме браузерыMaxim Moroz
 
08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backendRoman Brovko
 
05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколыRoman Brovko
 
01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложенийRoman Brovko
 
02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиентыRoman Brovko
 
Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).
Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).
Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).SmartTools
 
HTML/CSS/JS基础
HTML/CSS/JS基础HTML/CSS/JS基础
HTML/CSS/JS基础jay li
 

En vedette (15)

Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
 
Управление бизнесом на основе данных
Управление бизнесом на основе данныхУправление бизнесом на основе данных
Управление бизнесом на основе данных
 
презентация 4. введение в css
презентация 4. введение в cssпрезентация 4. введение в css
презентация 4. введение в css
 
презентация лекция 3 (1)
презентация лекция 3 (1)презентация лекция 3 (1)
презентация лекция 3 (1)
 
презентация 6
презентация 6презентация 6
презентация 6
 
браузеры
браузерыбраузеры
браузеры
 
Обзор интернет браузеров
Обзор интернет браузеровОбзор интернет браузеров
Обзор интернет браузеров
 
Эссе по теме браузеры
Эссе по теме браузерыЭссе по теме браузеры
Эссе по теме браузеры
 
08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend
 
Brauzery
BrauzeryBrauzery
Brauzery
 
05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы
 
01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений
 
02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты
 
Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).
Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).
Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).
 
HTML/CSS/JS基础
HTML/CSS/JS基础HTML/CSS/JS基础
HTML/CSS/JS基础
 

Similaire à Lesson1

Стажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTPСтажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTP7bits
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 67bits
 
Стажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложенияСтажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложения7bits
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.Igor Shkulipa
 
Мировые информационные ресурсы. Лекция 3
Мировые информационные ресурсы. Лекция 3Мировые информационные ресурсы. Лекция 3
Мировые информационные ресурсы. Лекция 3Dmitriy Krukov
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukInterSystems
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Ontico
 
Михаил Сенин, Герман Андреев — Использование API Вебмастера в плагинах к CMS
Михаил Сенин, Герман Андреев — Использование API Вебмастера в плагинах к CMSМихаил Сенин, Герман Андреев — Использование API Вебмастера в плагинах к CMS
Михаил Сенин, Герман Андреев — Использование API Вебмастера в плагинах к CMSYandex
 
15.03.19 WebPromo SEOday SEO-инсайты из логов: от WP блога до международного ...
15.03.19 WebPromo SEOday SEO-инсайты из логов: от WP блога до международного ...15.03.19 WebPromo SEOday SEO-инсайты из логов: от WP блога до международного ...
15.03.19 WebPromo SEOday SEO-инсайты из логов: от WP блога до международного ...Vladislav Morgun
 
Ян Жабин "Преимущества использования протокола HTTP/2"
Ян Жабин "Преимущества использования протокола HTTP/2"Ян Жабин "Преимущества использования протокола HTTP/2"
Ян Жабин "Преимущества использования протокола HTTP/2"Provectus
 
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IPСтажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IPSmartTools
 
ITmozg, Даниил Павлючков
ITmozg, Даниил ПавлючковITmozg, Даниил Павлючков
ITmozg, Даниил ПавлючковEYevseyeva
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнSergey Xek
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнSergey Xek
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 

Similaire à Lesson1 (20)

Стажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTPСтажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTP
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
 
Стажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложенияСтажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложения
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.
 
Мировые информационные ресурсы. Лекция 3
Мировые информационные ресурсы. Лекция 3Мировые информационные ресурсы. Лекция 3
Мировые информационные ресурсы. Лекция 3
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
 
Web servers
Web servers Web servers
Web servers
 
Михаил Сенин, Герман Андреев — Использование API Вебмастера в плагинах к CMS
Михаил Сенин, Герман Андреев — Использование API Вебмастера в плагинах к CMSМихаил Сенин, Герман Андреев — Использование API Вебмастера в плагинах к CMS
Михаил Сенин, Герман Андреев — Использование API Вебмастера в плагинах к CMS
 
15.03.19 WebPromo SEOday SEO-инсайты из логов: от WP блога до международного ...
15.03.19 WebPromo SEOday SEO-инсайты из логов: от WP блога до международного ...15.03.19 WebPromo SEOday SEO-инсайты из логов: от WP блога до международного ...
15.03.19 WebPromo SEOday SEO-инсайты из логов: от WP блога до международного ...
 
Ян Жабин "Преимущества использования протокола HTTP/2"
Ян Жабин "Преимущества использования протокола HTTP/2"Ян Жабин "Преимущества использования протокола HTTP/2"
Ян Жабин "Преимущества использования протокола HTTP/2"
 
HTTP протокол
HTTP протоколHTTP протокол
HTTP протокол
 
Sivko
SivkoSivko
Sivko
 
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IPСтажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
 
ITmozg, Даниил Павлючков
ITmozg, Даниил ПавлючковITmozg, Даниил Павлючков
ITmozg, Даниил Павлючков
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
Протокол HTTP
Протокол HTTPПротокол HTTP
Протокол HTTP
 

Lesson1

  • 1.
  • 2. Введение • Что такое PHP 5 • Преимущества • Принцип работы интерпритатора • Обзор и выбор инструментов разработки • Установка и настройка инструментов • Выбор среды разработки • Основы работы Web-сервера и Клиента • Полезная информация
  • 3. Что такое PHP ? PHP :Hypertext Preprocessor – это широко используемый язык программирования, специально разработанный для написания как статических так и динамических web- приложений(сценариев), исполняющихся на web-сервере.
  • 4. Преимущества PHP 5 • Бесплатное использование • Кроссплатформенность • Прост в обучении • Гибкость • Поддержка многими хостингами • Поддержка большинства СУБД • Постоянно развивается
  • 5. Принцип работы интерпретатора • Лексический анализ исходного кода, и генерация лексем (преобразование слов в команды языка) • Синтаксический анализ полученных лексем • Генерация байт-кода (промежуточного кода) • Выполнение байт-кода интерпретатором * Все эти операции выполняются автоматически самим ядром PHP, а также ядро реализует средства автоматического управления памятью (распределением, освобождением и выделением)
  • 6. Выбор инструментов разработки Вариант 1 (Рекомендованный) • Пакет Denwer Состав: - Web-сервер (Apache) - PHP 5.x - СУБД (MySQL) - phpMyAdmin / (Navicat) - Отладочный эмулятор ___ sendmail Вариант 2 • Web-сервер (nginx, Apache, IIS) • СУБД (MySQL, PostgreSQL) • PHP 5.x • Navicat / phpMyAdmin
  • 7. Установка и настройка инструментов • Для установки «Варианта 1» достаточно следовать инструкции инсталлятора. Инсталлятор сам установит и настроит программное обеспечение, которое входит в данный пакет или дистрибутив.
  • 8. Установка «варианта 2»: Рассмотрим связку Apache + PHP + MySQL Для начала необходимо скачать, их установочные файлы. Потом их установить и сконфигурировать. Подробная инструкция по установке: http://www.cyberforum.ru/apache/thread83339.ht ml Установка и настройка инструментов
  • 9. • Notepad++ или любой другой текстовый редактор • PHP IDE (PhpED, PHPEdit, phpDesigner, Komodo IDE, Free Komodo Edit, TextMate, PHP Expert Editor, Code Lobster) • Клиент для работы с СУБД Выбор среды разработки
  • 10. Основы работы Web-Сервера и Клиента • Web-Сервер – это ПО либо рабочая станция которая принимает HTTP-запросы от клиентов и выдает им HTTP- ответы, как правило вместе с контентом (HTML-страница, изображения, поток, файл и т.д) • Web-Серверы могут иметь дополнительные функции такие, как: - Автоматизация работы веб-страниц - Логирование - аутенфикация и авторизация пользователей - поддержка HTTPS для защищенных соединений
  • 11. • Клиенты – это ПО либо устройство, а также другой Веб-Сервер , которое обращается к Веб-серверу, с помощью протокола HTTP/HTTPS • В большинстве случаев клиентом выступает Браузер, который передает Веб- Серверу запросы на получение интересующих его ресурсов Основы работы Web-Сервера и Клиента
  • 12. • Схема взаимодействия Клиент – Веб-Сервер Основы работы Web-Сервера и Клиента
  • 14. Основы работы Web-Сервера и Клиента Пример обработки запроса сервером
  • 15. • HTTP-протокол (англ HyperText Transfer Protocol — «протокол передачи гипертекста») • HTTP-запрос делится на заголовок и тело • Пример заголовка: GET /page.html HTTP /1.1 Accept: */* Accept-Languge: en-us Connection: Keep-Alive Host: site.ru Referer: http://google.com User-Agent: Mozila Основы работы Web-Сервера и Клиента
  • 16. • HTTP-заголовок , строка запроса GET /page.html HTTP /1.1. Данная строка содержит 3 информационных блока: Метод передачи данных, путь к ресурсу, версию протокола Основы работы Web-Сервера и Клиента
  • 17. • Протокол HTTP поддерживает достаточно большое количество методов передачи данных, но 3 метода являются наиболее распространёнными , образующие своего рода негласный стандарт. • Все эти методы указываю серверу как ему следует обработать переданный ему запрос Основы работы Web-Сервера и Клиента
  • 18. • Метод GET Запрос на информацию на расположеную, по какому- то адресу. Также данный метод может передавать данные на сервер , с помощью адресной строки. • Метод HEAD То же , что и метод GET, но в отличие от предыдущего метода, запрашивает только HTTP-заголовок без данных • Метод POST Указывает на то, что данные отправляются серверу. Данный метод не может получать данные от сервера. Основы работы Web-Сервера и Клиента
  • 19. • HTTP-ответ – это ответ веб-сервера клиенту, на его запрос • HTTP-ответ состоит из строки ответа, заголовка и тела HTTP /1.1 200 OK Date: Fri, 31st Oct 2013 18:14:31 GMT Server: Apache /2.0.1 (Unix) PHP 5.2.2 Last-Modified: Fri, 31st Oct 2013 18:14:31 GMT Основы работы Web-Сервера и Клиента
  • 20. • 100-199 : Информационный, указывает, что запрос в настоящее время обрабатывается • 200-299 : Отмечает, что сервер получил и успешно выполнил запрос • 300-399: Указывает на то ,что запрос не был выполнен из-за того, что ресур был перемещен • 400-499: Означает клиентскую ошибку (запрос был неполным, некорректным или невозможным) • 500-599 : Означает серверную ошибку(запрос был корректным, но сервер не смог его выполнить) Основы работы Web-Сервера и Клиента
  • 21. • HTTP-ответ , тело ответа Если запрос был успешным, то тело запроса содержит сгенерированный сервером HTML код. Если запрос был безуспешным, то возвращается код ошибки.
  • 22. Полезные ресурсы • http://php.net/ • http://php.su/ • http://www.cyberforum.ru/
  • 23. Домашнее задание • Установить минимальный пакет ПО (Веб- Сервер и PHP 5.x) • Настроить свое ПО • Ознакомиться с документацией своего веб- сервера и PHP