История PHP

Лекция 1. Введение в PHP

Язык программирования PHP

www.intuit.ru


Язык программирования PHP. 1

www.intuit.ru. 1

Лекция 1. Введение в PHP. 4

История PHP.. 4

Возможности PHP.. 5

Установка и настройка ПО.. 6

Первая PHP-программа.. 17

Заключение.. 19

Лекция 2. Основы синтаксиса. 20

Основной синтаксис. 20

Разделение инструкций.. 20

Комментарии.. 20

Переменные, константы и операторы.. 21

Типы данных.. 25

Решение задачи.. 32

Заключение.. 33

Лекция 3. Управляющие конструкции. 34

Циклы.. 37

Операторы передачи управления.. 40

Операторы включения.. 43

Решение задачи.. 45

Заключение.. 47

Лекция 4. Обработка шаблонов с помощью PHP. 48

Основы клиент-серверных технологий.. 48

Протокол HTTP и способы передачи данных на сервер.. 50

Использование HTML-форм для передачи данных на сервер.. 52

Обработка запросов с помощью PHP.. 55

Заключение.. 57

Лекция 5. Функции в PHP. 59

Лекция 6. Объекты и классы в PHP. 72

Лекция 7. Работа с массивами данных. 82

Массивы.. 82

Сортировка массивов.. 86

Применение функции ко всем элементам массива.. 90

Выделение подмассива.. 92

Сумма элементов массива.. 93

Заключение.. 94

Лекция 8. Работа со строками. 95

Строки.. 95

Поиск элемента в строке.. 96

Выделение подстроки.. 97

Замена вхождения подстроки.. 100

Разделение и соединение строки.. 104

Строки, содержащие html-код.. 106

Заключение.. 107

Лекция 9. Работа с файловой системой. 108

Создание файла.. 108

Закрытие соединения с файлом.. 110

Запись данных в файл.. 110

Чтение данных из файла.. 111

Проверка существования файла.. 116

Удаление файла.. 117

Загрузка файла на сервер.. 117

Заключение.. 120

Лекция 10. Базы данных и СУБД. Введение в SQL.. 121

Базы данных: основные понятия.. 121

СУБД MySQL. 124

Язык SQL. 126

Заключение.. 135

Лекция 11. Взаимодействие PHP и MySQL.. 136

Построение интерфейса для добавления информации.. 136

Отображение данных, хранящихся в MySQL. 142

Заключение.. 145

Лекция 12. Авторизация доступа с помощью сессий. 146

Авторизация доступа.. 146

Механизм сессий.. 148

Настройка сессий.. 149

Работа с сессиями.. 150

Безопасность. 154

Заключение.. 156

Лекция 13. Регулярные выражения. 157

Понятие регулярного выражения.. 157

Регулярные выражения в PHP.. 157

Синтаксис регулярных выражений.. 159

Модификаторы PCRE.. 166

Регулярные выражения для «продвинутых».. 167

Заключение.. 170

Лекция 14. Взаимодействие PHP и XML.. 171

Введение.. 171

XML. 171

Взаимодействие PHP и XML. 174

Взаимодействие PHP и XML посредством DOM XML. 176

Заключение.. 182

Лекция 15. Использование шаблонов в PHP. 183

Что такое шаблоны и зачем они нужны.. 183

Шаблоны подстановки.. 183

Шаблоны FastTemplate.. 184

Шаблоны Smarty.. 189

Заключение.. 198

Язык PHP был разработан как инструмент для решения чисто практических задач. Его создатель, Расмус Лердорф, хотел знать, сколько людей читают его online-резюме, и написал для этого простенькую CGI-оболочку на языке Perl, т.е. это был набор Perl-скриптов, предназначенных исключительно для определенной цели – сбора статистики посещений.

Для справки. CGI (Common Gateway Interface – общий интерфейс шлюзов) является стандартом, который предназначен для создания серверных приложений, работающих по протоколу HTTP. Такие приложения (их называют шлюзами или CGI-программами) запускаются сервером в режиме реального времени. Сервер передает запросы пользователя CGI-программе, которая их обрабатывает и возвращает результат своей работы на экран пользователя. Таким образом, посетитель получает динамическую информацию, которая может изменяться в результате влияния различных факторов. Сам шлюз (скрипт CGI) может быть написан на различных языках программирования – Cи/C++, Fortran, Perl, TCL, UNIX Shell, Visual Basic, Python и др.

Вскоре выяснилось, что оболочка обладает небольшой производительностью, и пришлось переписать ее заново, но уже на языке Си. После этого исходники были выложены на всеобщее обозрение для исправления ошибок и дополнения. Пользователи сервера, где располагался сайт с первой версией 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.

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.