PHP 5/6. В подлиннике. Представляем Вашему вниманию книгу "PHP 5/6. В подлиннике", написанную сотрудниками нашей студии Кузнецовым Максимом Валерьевичем и Симдяновым Игорем Вячеславовичем.
PHP является молодым и динамично развивающимся языком программирования, который используется главным образом для создания самых разнообразных Web-приложений. Быстрая динамика развития языка, с одной стороны, предполагает регулярное введение новых конструкций, функций, библиотек, директив, а, с другой стороны, — изъятие старых конструкций, использование которых оказалось неудобным или провоцировало создание небезопасного кода. Стадию динамичного развития проходит любой язык программирования, определить ее очень просто по быстрой смене версий и количеству нововведений в этих версиях. Со временем интервал между версиями увеличивается, каждая новая версия содержит все меньше и меньше революционных нововведений. Современный PHP пока находится в стадии быстрого развития, однако, в ближайшие несколько лет прогнозируется переход к плавному изменению, характерному для состоявшихся языков.
Анонсируя PHP 6, разработчики заранее объявили о нововведениях, которые будут в новой версии. Однако затем ими было принято решение не создавать дистрибутив с нуля, а постепенно вносить изменения в текущую версию PHP 5. Если раньше, для того чтобы попробовать новинки языка, требовалось загрузить нестабильный дистрибутив, предназначенный для разработчиков, то теперь особенности PHP 6 постепенно и плавно появляются в версии PHP 5. Таким образом, к тому моменту, когда все обновления будут внедрены в язык, разработчикам останется только поменять цифру. Поэтому нами было принято решение о создании руководства по языку PHP с учетом всех последних нововведений.
Эта книга будет интересна как начинающим разработчикам, которым необходимо последовательное изложение языка, так и опытным программистам, желающим познакомиться с нововведениями языка, появившимися в последнее время.
Для кого предназначена книга? Книга будет интересна как начинающим разработчика, которым необходимо последовательное изложение языка, так и опытным программистам, желающим познакомиться с нововведениями языка, появившимися в последнее время. Текущее издание будет также интересно читателям предыдущих изданий самоучителя, т. к. нами было принято решение о полной переработке всех глав: по сути, они написаны заново. Связано это с тем, что структура и организация языка значительно изменились за последние годы, поменялась и аудитория PHP-разработчиков.
Заказать книгу "PHP 5/6. В подлиннике" можно в интернете-магазине ОЗОН.
Доступна также же электронная версия книги в формате PDF.
Страничка книги на сайте издательства Содержание Оглавление Введение Нововведения PHP 6 Путеводитель по книге On-line-поддержка книги Благодарности
Глава 1. Интернет 1.1. История развития Интернета 1.2. Принципы работы Интернета 1.3. Место и роль PHP в Интернете 1.3.1. Серверные технологии UNIX-подобная операционная система Web-сервер Серверный язык Файлы и базы данных Электронная почта 1.3.2. Клиентские технологии Web-браузеры, HTML Каскадные таблицы стилей CSS и XML Flash-ролики FTP-клиенты Удаленный доступ к серверу. Протокол SSH
Глава 2. Быстрый старт 2.1. Скрипты 2.2. Начальные и конечные теги 2.3. Использование точки с запятой 2.4. Составные выражения. Фигурные скобки 2.5. Комментарии
Глава 3. Переменные и типы данных 3.1. Объявление переменной. Оператор = 3.2. Типы данных 3.3. Целые числа 3.4. Вещественные числа 3.5. Строки 3.6. Кавычки 3.7. Оператор <<< 3.8. Обращение к неинициализированной переменной. Замечания (Notice) 3.9. Специальный тип NULL 3.10. Логический тип 3.11. Уничтожение переменной. Конструкция unset() 3.12. Проверка существования переменной. Конструкции isset() и empty() 3.13. Определение типа переменной 3.14. Неявное приведение типов 3.15. Явное приведение типов 3.16. Динамические переменные
Глава 4. Константы 4.1. Объявление константы. Функция define() 4.2. Функции для работы с константами 4.3. Константы с динамическими именами. Функция constant() 4.4. Проверка существования константы 4.5. Предопределенные константы
Глава 5. Операторы и конструкции языка 5.1. Объединение строк. Оператор "точка" 5.2. Конструкция echo. Оператор "запятая" 5.3. Арифметические операторы 5.4. Поразрядные операторы 5.5. Операторы сравнения 5.6. Условный оператор if 5.7. Логические операторы 5.8. Условный оператор x ? y : z 5.9. Переключатель switch 5.10. Цикл while 5.11. Цикл do ... while 5.12. Цикл for 5.13. Включение файлов 5.14. Подавление вывода ошибок. Оператор @ 5.15. Приоритет выполнения операторов
Глава 6. Массивы 6.1. Создание массива 6.2. Ассоциативные и индексные массивы 6.3. Многомерные массивы 6.4. Интерполяция элементов массива в строки 6.5. Конструкция list() 6.6. Обход массива 6.7. Цикл foreach 6.8. Сечения массива 6.9. Слияние массивов 6.10. Сравнение массивов 6.11. Проверка существования элементов массива 6.12. Строки как массивы 6.13. Количество элементов в массиве 6.14. Сумма элементов массива 6.15. Случайные элементы массива 6.16. Сортировка массивов 6.17. Добавление/удаление элементов массива 6.18. Работа с ключами массива 6.19. Преобразование массивов 6.20. Суперглобальные массивы. Массив $_SERVER 6.20.1. Элемент $_SERVER['DOCUMENT_ROOT'] 6.20.2. Элемент $_SERVER['HTTP_ACCEPT'] 6.20.3. Элемент $_SERVER['HTTP_ACCEPT_LANGUAGE'] 6.20.4. Элемент $_SERVER['HTTP_HOST'] 6.20.5. Элемент $_SERVER['HTTP_REFERER'] 6.20.6. Элемент $_SERVER['HTTP_USER_AGENT'] 6.20.7. Элемент $_SERVER['REMOTE_ADDR'] 6.20.8. Элемент $_SERVER['SCRIPT_FILENAME'] 6.20.9. Элемент $_SERVER['SERVER_NAME'] 6.20.10. Элемент $_SERVER['REQUEST_METHOD'] 6.20.11. Элемент $_SERVER['QUERY_STRING'] 6.20.12. Элемент $_SERVER['PHP_SELF'] 6.20.13. Элемент $_SERVER['REQUEST_URI']
Глава 7. Функции 7.1. Объявление и вызов функции 7.2. Параметры функции 7.3. Передача параметров по значению и ссылке 7.4. Необязательные параметры 7.5. Переменное количество параметров 7.6. Глобальные переменные 7.7. Статические переменные 7.8. Возврат массива функцией 7.9. Рекурсивные функции 7.10. Вложенные функции 7.11. Динамическое имя функции 7.12. Анонимные функции 7.13. Проверка существования функции 7.14. Неявное выполнение функций. Оператор declare() 7.15. Вспомогательные функции
Глава 8. Взаимодействие PHP с HTML 8.1. Передача параметров методом GET 8.2. HTML-форма и ее обработчик 8.3. Текстовое поле 8.4. Поле для приема пароля 8.5. Текстовая область 8.6. Скрытое поле 8.7. Флажок 8.8. Список 8.9. Переключатель 8.10. Загрузка файла на сервер
Глава 9. Строковые функции 9.1. Функции для работы с символами 9.2. Поиск в строке 9.3. Замена в тексте 9.4. Преобразование регистра 9.5. Работа с HTML-кодом 9.6. Экранирование 9.7. Локальные настройки (локаль) 9.8. Форматный вывод 9.9. Преобразование кодировок 9.10. Сравнение строк 9.11. Хранение данных 9.12. Работа с путями к файлам и каталогам 9.13. Объединение и разбиение строк
Глава 10. Регулярные выражения 10.1. Как изучать регулярные выражения? 10.2. Синтаксис регулярных выражений 10.3. Функции для работы с регулярными выражениями 10.4. Функция preg_match() 10.5. Функция preg_match_all() 10.6. Функция preg_replace() 10.7. Функция preg_replace_callback() 10.8. Функция preg_split() 10.9. Функция preg_quote()
Глава 11. Дата и время 11.1. Формирование даты и времени 11.2. Географическая привязка 11.3. Форматирование даты и времени
Глава 12. Математические функции 12.1. Предопределенные константы 12.2. Поиск максимума и минимума 12.3. Генерация случайных чисел 12.4. Преобразование значений между различными системами счисления 12.5. Округление чисел 12.6. Логарифмические и степенные функции 12.7. Тригонометрические функции 12.8. Информационные функции 12.9. Вычисления с повышенной точностью
Глава 13. Файлы и каталоги 13.1. Создание файлов 13.2. Манипулирование файлами 13.3. Чтение и запись файлов 13.3.1. Чтение файлов 13.3.2. Запись файлов 13.3.3. Обязательно ли закрывать файлы? 13.3.4. Дозапись файлов 13.3.5. Уменьшение размера файла 13.3.6. Блокировка файлов 13.3.7. Файлы CSV 13.3.8. Чтение и разбор ini-файла 13.3.9. Прямое манипулирование файловым указателем 13.4. Создание и работа со ссылками 13.5. Атрибуты файла 13.6. Права доступа 13.7. Состояние файловой системы 13.8. Каталоги 13.9. Архивные файлы
Глава 14. HTTP-заголовки 14.1. Функции для управления HTTP-заголовками 14.2. Кодировка страницы 14.3. HTTP-коды состояния 14.4. Список HTTP-заголовков 14.5. Подавление кэширования
Глава 15. CookieГлава 16. Сессии 16.1. Функции обработки сессии 16.2. Перегрузка механизма сессии
Глава 17. Управление выводом 17.1. Функции управления выводом 17.2. Размер и тип документа 17.3. Подсветка ссылок 17.4. Вложенная буферизация 17.5. Обработчики буферов 17.6. Список применяемых обработчиков 17.7. Сжатие страницы 17.8. Преобразование кодировки страницы 17.9. Преобразование адресов ссылок
Глава 18. Средства шифрования 18.1. Необратимое шифрование 18.2. Система регистрации и аутентификации 18.3. Обратимое шифрование
Глава 19. Сетевое взаимодействие. Сокеты и CURL 19.1. Обращение к удаленным страницам 19.2. Сокеты 19.3. Библиотека CURL 19.4. Получение HTTP-заголовков с сервера 19.5. Определение размера файла на удаленном хосте 19.6. Отправка данных методом POST 19.7. Фальсификация реферера 19.8. Фальсификация пользовательского агента 19.9. Фальсификация cookie 19.10. Работа с доменами и IP-адресами 19.11. Определение IP-адреса по сетевому адресу 19.12. Определение сетевого адреса по IP-адресу 19.13. Следование реферальному серверу
Глава 20. Взаимодействие с интерпретатором PHP 20.1. Настройки конфигурационного файла php.ini 20.1.1. Параметры языка PHP 20.1.2. Директивы безопасности 20.1.3. Настройка подсветки PHP-кода 20.1.4. Кэш файловой системы 20.1.5. Взаимодействие с клиентом 20.1.6. Ограничение ресурсов 20.1.7. Обработка ошибок 20.1.8. Обработка данных 20.1.9. Загрузка файлов 20.1.10. Сетевой доступ 20.1.11. Подключение расширений 20.1.12. Настройка сессии 20.1.13. Настройка даты и времени 20.2. Изменение настроек php.ini средствами Apache 20.3. Функции управления интерпретатором PHP
Глава 21. Объекты и классы 21.1. Введение в объектно-ориентированное программирование 21.2. Создание класса 21.3. Создание объекта 21.4. Инкапсуляция. Спецификаторы доступа 21.5. Методы класса. Член $this 21.6. Дамп объекта 21.7. Специальные методы класса 21.8. Функции для работы с методами и классами 21.9. Конструктор. Метод __construct() 21.10. Параметры конструктора 21.11. Деструктор. Метод __destruct() 21.12. Автозагрузка классов. Функция __autoload() 21.13. Аксессоры. Методы __set() и __get() 21.14. Проверка существования члена класса. Метод __isset() 21.15. Уничтожение члена класса. Метод __unset() 21.16. Динамические методы. Метод __call() 21.17. Интерполяция объекта. Метод __toString() 21.18. Экспорт объектов. Метод __set_state() 21.19. Статические члены класса 21.20. Статические методы класса 21.21. Константы класса 21.22. Предопределенные константы 21.23. Клонирование объекта 21.24. Управление процессом клонирования. Метод __clone() 21.25. Сериализация объектов 21.26. Управление сериализацией. Методы __sleep() и __wakeup()
Глава 22. Наследование 22.1. Наследование 22.2. Спецификаторы доступа и наследование 22.3. Перегрузка методов 22.4. Полиморфизм 22.5. Абстрактные классы 22.6. Абстрактные методы 22.7. Final-методы класса 22.8. Final-классы
Глава 23. Интерфейсы 23.1. Создание интерфейса 23.2. Интерфейсы и наследование классов 23.3. Реализация нескольких интерфейсов 23.4. Проверка существования интерфейса 23.5. Наследование интерфейсов 23.6. Реализует ли объект интерфейс?
Глава 24. Обработка ошибок и исключительных ситуаций 24.1. Обработка ошибок 24.2. Обработка ошибок и исключения 24.2.1. Синтаксис исключений 24.2.2. Интерфейс класса Exception 24.2.3. Генерация исключений в функциях 24.2.4. Стек обработки исключительной ситуации 24.2.5. Генерация исключений в классах 24.2.6. Генерация исключений в иерархиях классов 24.2.7. Использование объекта класса Exception в строковом контексте 24.2.8. Создание собственных исключений 24.2.9. Создание новых типов исключений 24.2.10. Перехват исключений производных классов 24.2.11. Что происходит, когда исключения не перехватываются? 24.2.12. Вложенные контролируемые блоки 24.2.13. Повторная генерация исключений
Глава 25. Отражения 25.1. Иерархия классов отражения 25.2. Отражение функции. Класс ReflectionFunction 25.3. Отражение параметра функции. Класс ReflectionParameter 25.4. Отражение класса. Класс ReflectionClass 25.5. Отражение объекта. Класс ReflectionObject 25.6. Отражение метода класса. Класс ReflectionMethod 25.7. Отражение члена класса. Класс ReflectionProperty 25.8. Исключения механизма отражения 25.9. Отражение расширения. Класс ReflectionExtension 25.10. Вспомогательный класс Reflection
Глава 26. Предопределенные классы 26.1. Класс Dir 26.2. Классы времени 26.3. Библиотека SPL 26.3.1. Итераторы 26.3.2. Интерфейс Iterator 26.3.3. Класс DirectoryIterator 26.3.4. Класс FilterIterator 26.3.5. Класс LimitIterator 26.3.6. Рекурсивные итераторы
Глава 27. Работа с СУБД MySQL 27.1. Введение в СУБД и SQL 27.2. Первичные ключи 27.3. Создание и удаление базы данных 27.4. Выбор базы данных 27.5. Типы данных 27.6. Создание и удаление таблиц 27.7. Вставка числовых значений в таблицу 27.8. Вставка строковых значений в таблицу 27.9. Вставка календарных значений 27.10. Вставка уникальных значений 27.11. Механизм AUTO_INCREMENT 27.12. Многострочный оператор INSERT 27.13. Удаление данных 27.14. Обновление записей 27.15. Выборка данных 27.16. Условная выборка 27.17. Псевдонимы столбцов 27.18. Сортировка записей 27.19. Вывод записей в случайном порядке 27.20. Ограничение выборки 27.21. Вывод уникальных значений 27.22. Объединение таблиц 27.23. Функции MySQL 27.23.1. Математические функции Вычисление площади треугольников Округление результатов вычисления 27.23.2. Функции даты и времени Форматирование календарных значений Вычисление возраста человека Преобразование даты в UNIXSTAMP-формат 27.23.3. Строковые функции Изменение кодировки строки Первые несколько символов строки Извлечение инициалов Изменение регистра строки 27.23.4. Функции шифрования Обратимое шифрование Необратимое шифрование 27.23.5. Агрегатные функции Среднее значение Сортировка агрегатных значений Подсчет количества записей в таблице Объединение значений группы Поиск минимального и максимального значений Сумма столбца 27.23.6. Разное Преобразование IP-адреса
Глава 28. Взаимодействие MySQL и PHP 28.1. Библиотека php_mysql 28.1.1. Установка соединения с базой данных 28.1.2. Выбор базы данных 28.1.3. Выполнение SQL-запросов 28.1.4. Получение результатов запроса 28.1.5. Количество строк в таблице 28.1.6. Экранирование данных. SQL-инъекции 28.2. Библиотека php_mysqli 28.2.1. Создание базы данных 28.2.2. Создание и заполнение таблицы 28.2.3. Заполнение связанных таблиц 28.2.4. Вывод данных 28.2.5. Повторное чтение результирующей таблицы 28.2.6. Количество строк в таблице 28.2.7. Удаление данных 28.2.8. Сортировка 28.2.9. Параметризация SQL-запросов
Глава 29. FTP-менеджер 29.1. Функции для работы с FTP-сервером 29.2. Какой объем жесткого диска занимает сайт? 29.3. Перенос сайта с одного хоста на другой
Глава 30. Электронная почта 30.1. Отправка почтового сообщения 30.2. Рассылка писем 30.3. Отправка писем с вложением 30.4. Отправка писем со встроенными изображениями
Глава 31. Динамические изображения. Библиотека GDLib 31.1. Информационные функции 31.1.1. Текущая версия библиотеки GDLib 31.1.2. Формат файла 31.1.3. Размер файла 31.1.4. Получение MIME-типа файла 31.2. Функции создания изображений 31.3. Функции сохранения и вывода изображений 31.4. Функции преобразования изображений 31.4.1. Создание уменьшенной копии изображения 31.4.2. Поворот изображения 31.5. Функции для работы с цветом 31.5.1. Заливка изображения цветом 31.5.2. Получение цвета заданного пиксела 31.5.3. Уменьшение количества цветов в изображении 31.5.4. Замена одного цвета другим 31.6. Функции рисования 31.6.1. Кривая Безье 31.6.2. Построение гистограммы средствами GDLib 31.6.3. Построение круговой диаграммы средствами GDLib 31.7. Функции настройки рисования 31.7.1. Пунктирная линия 31.8. Функции для работы с текстом 31.8.1. Защитное изображение для HTML-формы
ЗаключениеПриложение 1. Установка и настройка PHP, Web-сервера Apache и MySQL-сервера П1.1. Где взять дистрибутивы? П1.1.1. Дистрибутив PHP П1.1.2. Дистрибутив Apache П1.1.3. Дистрибутив MySQL П1.2. Установка Web-сервера Apache под Windows П1.3. Установка Web-сервера Apache под Linux П1.4. Настройка виртуальных хостов П1.5. Настройка кодировки по умолчанию П1.6. Управление запуском и остановкой Web-сервера Apache П1.7. Управление Apache из командной строки П1.8. Установка PHP под Windows П1.8.1. Установка PHP в качестве модуля П1.8.2. Установка PHP как CGI-приложения П1.9. Установка PHP под Linux
Приложение 2. Установка MySQL П2.1. Установка MySQL под Windows П2.1.1. Процесс установки П2.1.2. Постинсталляционная настройка П2.1.3. Проверка работоспособности MySQL П2.2. Установка MySQL под Linux П2.3. Конфигурационный файл П2.4. Утилита mysql П2.4.1. Командная строка П2.4.2. Работа с утилитой mysql в диалоговом режиме П2.5. Перенос баз данных с одного сервера на другой П2.5.1. Копирование бинарных файлов П2.5.2. Создание SQL-дампа
Рекомендуемая литература HTML, XML, CSS, JavaScript и Flash PHP и Perl СУБД MySQL Интернет и Web-сервер Apache Регулярные выражения UNIX-подобные операционные системы Методология программирования
Предметный указатель
|