Содержание.
Глава 1. Что представляет собой PHP?.
1.1. Достоинства и недостатки
1.2. Структура PHP
1.3. Сопутствующие технологии
Задание
Глава 2. Установка PHP
2.1. Установка в Windows
2.2. Установка в Mac OS X
2.3. Установка в Linux (Ubuntu)
2.4. Встроенный сервер
2.5. Файл hosts
2.6. Вещание вовне
2.7. Настройка PHP
2.8. Расширения
2.9. Документация
Задания
Глава 3. Быстрый старт
3.1. Скрипты
3.2. Начальные и конечные теги
3.3. Использование точки с запятой
3.4. Составные выражения. Фигурные скобки.
3.5. Комментарии
3.6. Включение PHP-файла
Задания
Глава 4. Переменные и типы данных
4.1. Объявление переменной. Оператор =
4.2. Типы данных
4.3. Целые числа
4.4. Вещественные числа
4.5. Логический тип
4.6. Строки
4.7. Кавычки
4.8. Оператор <<<
4.9. Обращение к неинициализированной п ременной. Замечания (Notice)
4.10. Специальный тип null
4.11. Уничтожение переменной. Конструкция unset()
4.12. Проверка существования переменной. Конструкции isset() и empty()
4.13. Определение типа переменной
4.14. Неявное приведение типов
4.15. Явное приведение типов
4.16. Динамические переменные
Задания
Глава 5. Классы и объекты
5.1. Собственные типы данных
5.2. Создание класса
5.3. Разделение классов и остального кода
5.4. Создание объекта
5.5. Область видимости переменных класса
5.6. Спецификаторы доступа
5.7. Статические переменные класса
5.8. Ссылки на переменные
5.9. Клонирование объектов
Задания
Глава 6. Константы
6.1. Объявление константы. Функция define()
6.2. Проверка существования константы
6.3. Динамическое имя константы
6.4. Предопределенные константы
6.5. Абсолютный и относительный пути к файлу
6.6. Константы класса
Задания
Глава 7. Операторы
7.1. Объединение строк. Оператор "точка"
7.2. Конструкция echo. Оператор "запятая"
7.3. Арифметические операторы
7.4. Поразрядные операторы
7.5. Операторы сравнения
7.6. Приоритет выполнения операторов
Задания
Глава 8. Условия
8.1. Условный оператор if
8.2. Логические операторы
8.3. Условный оператор х? у: z
8.4. Оператор ??
8.5. Переключатель switch
8.6. Оператор goto
Задания
Глава 9. Циклы
9.1. Цикл while
9.2. Цикл do while
9.3. Цикл for
Задания
Глава 10. Массивы
10.1. Создание массива
10.2. Ассоциативные и индексные массивы
10.3. Многомерные массивы
10.4. Интерполяция элементов массива в строки
10.5. Конструкция list
10.6. Обход массива
10.7. Цикл foreach
10.8. Слияние массивов
10.9. Сравнение массивов
10.10. Проверка существования элементов массива
10.11. Удаление элементов массива
Задания
Глава 11. Функции
1.1. Объявление и вызов функции
1.2. Параметры и аргументы функции
1.3. Типы параметров и возвращаемого значения
1.4. Передача параметров по значению и ссылке
1.5. Необязательные параметры
1.6. Переменное количество параметров
1.7. Глобальные переменные
1.8. Статические переменные
1.9. Возврат массива функцией
1.10. Рекурсивные функции
1.11. Вложенные функции
1.12. Динамическое имя функции
1.13. Анонимные функции
1.14. Замыкания
Задания
Глава 12. Строковые функции
12.1. Строки как массивы
12.2. UTF-8. Расширениеmbstring.
12.3. Функции для работы с символами
12.4. Поиск в строке
12.5. Замена в тексте
12.6. Работа с HTML-кодом
12.7. Форматный вывод
12.8. Объединение и разбиение строк
12.9. Сериализация объектов и массивов
12.10. JSON-формат
Задания
Глава 13. Взаимодействие PHP с HTML
13.1. Передача параметров методом GET
13.2. HTML-форма и ее обработчик
13.3. Текстовое поле
13.4. Поле для приема пароля
13.5. Текстовая область
13.6. Скрытое поле
13.7. Флажок
13.8. Список
13.9. Переключатель
13.10. Загрузка файла на сервер
13.11. Переадресация
Задания
Глава 14. Суперглобальные массивы
14.1. Типы суперглобальных массивов
14.2. Cookie
14.3. Сессии
14.4. Переменные окружения
14.5. Массив $_JSERVER
14.5.1. Элемент $_SERVER['DOCUMENT_ROOT']
14.5.2. Элемент $_SERVER['HTTP_ACCEPTJ']
14.5.3. Элемент $_SERVER['HTTP_ACCEPT_LANGUAGE']
14.5.4. Элемент $_SER VER['HTTP_HOSTS']
14.5.5. Элемент $_SERVER['HTTP_REFERER']
14.5.6.Элемент $_SERVER['HTTP_USER_AGENT']
14.5.7.Элемент $_SERVER['REMOTE_ADDR']
14.5.8.Элемент $_SER VER['SCRIP T_FILENA ME']
14.5.9.Элемент $_SERVER['SERVER_NAME']
14.5.10.Элемент $_SERVER['REQUEST_METHOD']
14.5.11.Элемент $_SERVER['QUERY_STRING']
14.5.12.Элемент $_SERVER['PHP_SELF']
14.5.13.Элемент $_SERVER['REQUEST_URI']
Задания
Глава 15. Фильтрация и проверка данных
15.1. Фильтрация или проверка?
15.2. Фильтры проверки
IS.3. Фильтры очистки
I S.4. Пользовательская фильтрация данных
1S.S. Фильтрация внешних данных
Задания
Глава 16. Методы
16.1. Определение метода
16.2. Обращение к переменным объекта
16.3. Статические методы
16.4. Ключевое cлово self
Задания
Глава 17. Специальные методы
17.1. Конструктор_construct()
17.2. Параметры конструктора
17.3. Деструктор _destruct()
17.4. Методы-аксессоры_set() и_get()
17.5. Динамические методы
17.6. Интерполяция объекта
Задания
Глава 18. Наследование
18.1. Наследование
18.2. Спецификаторы доступа и наследование
18.3. Перегрузка методов
18.4. Позднее статическое связывание
18.5. Полиморфизм
18.6. Абстрактные классы
18.7. Абстрактные методы
18.8. Final-методы класса
18.9. Final-классы
18.10. Анонимные классы
18.11. Оператор instanceof
Задания
Глава 19. Интерфейсы.
19.1. Ограничения наследования
19.2. Создание интерфейса
19.3. Наследование интерфейсов
19.4. Реализация нескольких интерфейсов
19.5. Реализует ли объект интерфейс?
Задание
Глава 20. Трейты
20.1. Создание трейта
20.2. Трейты и наследование
20.3. Разрешение конфликтов
20.4. Вложенные трейты
Задание
Глава 21. Исключения
21.1. Синтаксис исключений
21.2. Интерфейс класса Exception
21.3. Генерация исключений в классах
21.4. Создание собственных исключений
21.5. Перехват исключений производных классов
21.6. Повторная генерация исключений
21.7. Блок finalli
Задание
Глава 22. Ошибки
22.1. Ошибки и исключения
22.2. Типы уведомлений
22.3. Пользовательские ошибки
22.4. Подавление ошибок
Задания
Глава 23. Пространство имен
23.1. Создание пространства имен
23.2. Иерархия пространств имен
23.3. Глобальное пространство имен
23.4. Текущее пространство имен
23.5. Импортирование
Задания
Глава 24. Автозагрузка
24.1. Функция_autoload()
24.2. Функция spl_autoload_register()
Задание
Глава 25. Шаблоны проектирования
25.1. Зачем нужны шаблоны проектирования?
25.2. Одиночка (Singleton)
25.3. Фабричный метод (Factory Method)
25.4. Модель-Представленне-Конфоллер
Задания
Глава 26. Компоненты
26.1. Composer: управление компонентами
26.2. Установка Composer
26.2.1. Установка в Windows
26.2.2. Установка в Маc OS X
26.2.3. Установка в Ubuntu
26.3. Где искать компоненты?
26.4. Установка компонента
26.5. Использование компонента
Задания
Глава 27. База данных PostgreSQL
27.1. Почему PostgreSQL?
27.2. Установка PostgreSQL
27.2.1. Установка в Windows
27.2.2. Установка в Mac OS X
27.2.3. Установка в Ubuntu
27.3. Введение в СУБД и SQL
27.4. Первичные ключи
27.5. Управление базами данных
27.6. Управление таблицами
27.7. Вставка записей в таблицу
27.8. Удаление записей
27.9. Обновление записей
27.10. Выборка записей
Задания
Глава 28. РНР-расширение PDO
28.1. Настройка расширения PDO
28.2. Установка соединения с базой данных
28.3. Выполнение SQL-запросов
28.4. Обработка ошибок
28.5. Извлечение данных
28.6. Параметризация SQL-запросов
Задания
Глава 29. NoSQL база данных Redis
29.1. Почему Redis?
29.2. Установка сервера
29.2.1. Установка в среде Ubuntu
29.2.2. Установка в среде Mac OS X
29.2.3. Установка в Windows
29.2.4. Проверка работоспособности
29.3. Клиент redis-cli
29.4. Вставка и получение значений
29.5. Обновление и удаление значений
29.6. Управление ключами
29.7. Время жизни ключа
29.8. Типы данных
29.9. Хэш
29.10. Множество
29.11. Отсортированное множество
29.12. Базы данных
29.13. Производительность Redis
Задания
Глава 30. PHP-расширение Redis
30.1. Установка расширения php-redis
30.2. Хранение сессий в Redis
30.3. Методы для обслуживания данных в Redis
30.4. Кэширование данных
Задания
Глава 31. Итераторы
31.1. Интерфейсы для создания итераторов
31.2. Интерфейс Array Access
31.3. Класс ArrayObject
31.4. Класс Direclorylleralor
31 .5. Класс Filierlterator
31.6.Класс Limitlterator
31.7.Рекурсивные итераторы
Задания
Глава 32. Генераторы и итераторы
32.1. Отложенные вычисления
32.2. Манипуляция массивами
32.3. Экономия ресурсов
32.4. Использование ключей
32.5. Связь генераторов с объектами
Задания
Заключение
Предметный указатель