История 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.