На главную | Где купить | Авторам и заказчикам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты | Прайс листы

HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. 5-е изд.

Автор Прохоренок Н., Дронов В.
Название HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. 5-е изд.
Серия Профессиональное программирование
ISBN 978-5-9775-3986-9
Формат 70×100/16 (165×233 мм)
Объем 912
Тематика
Оптовая цена
    Вернуться к описанию книги

Полное содержание

Введение 21

Глава 1. Основы HTML 5. Создаем дизайн сайта

23
1.1. Первые шаги 23
1.1.1. Основные понятия 23
1.1.2. Редактор CKEditor 25
1.1.3. Редактор Notepad++ 26
1.1.4. Первый HTML-документ 27
1.1.5. Просмотр исходного HTML-кода в Web-браузере 29
1.1.6. Инструменты разработчика 29
1.1.7. Комментарии в HTML-коде 31
1.2. Структура HTML-документа 31
1.2.1. Тег DOCTYPE. Объявление формата документа 32
1.2.2. Тег html 32
1.2.3. Раздел HEAD. Техническая информация о документе 32
1.2.4. Файл favicon.ico 33
1.2.5. Файл robots.txt 34
1.2.6. Раздел BODY. Основная часть документа 35
1.3. Разделение Web-страницы на фрагменты 37
1.3.1. Заголовки 37
1.3.2. Разделение на абзацы 37
1.3.3. Тег div 38
1.3.4. Семантическая разметка в HTML 5 38
1.3.5. Тег details 41
1.3.6. Горизонтальная линия 41
1.4. Форматирование текста 41
1.4.1. HTML-эквиваленты 42
1.4.2. Перевод строки 42
1.4.3. Выделение фрагментов текста 43
1.4.4. Теги логического форматирования 44
1.4.5. Создание нижних и верхних индексов 44
1.4.6. Тег span 45
1.5. Списки 45
1.5.1. Маркированные списки 45
1.5.2. Нумерованные списки 46
1.5.3. Списки определений 48
1.6. Графика 48
1.6.1. Изображение на Web-странице 48
1.6.2. Изображение в качестве фона 50
1.6.3. Тег picture 50
1.6.4. SVG-графика 51
1.6.5. Тег canvas 52
1.7. Гиперссылки 52
1.7.1. Внешние гиперссылки 52
Абсолютный URL-адрес 53
Относительный URL-адрес 53
1.7.2. Внутренние гиперссылки 54
1.7.3. Гиперссылки на адрес электронной почты 55
1.8. Таблицы 55
1.8.1. Вставка таблицы в документ 57
1.8.2. Заголовок таблицы 58
1.8.3. Строки таблицы 58
1.8.4. Столбцы таблицы 59
1.8.5. Ячейки таблицы 59
1.9. Фреймы 60
1.9.1. Тег iframe. Добавление фрейма в обычный документ 60
1.9.2. Загрузка документа в определенный фрейм 62
1.10. Карты-изображения 63
1.10.1. Карта-изображение как панель навигации 63
1.10.2. Структура карт-изображений 64
1.10.3. Тег map 65
1.10.4. Описание активной области на карте-изображении 65
1.11. Формы 67
1.11.1. Создание формы для регистрации сайта 67
1.11.2. Структура документа с формами 68
1.11.3. Добавление формы в документ 68
1.11.4. Тег input 70
Текстовое поле и поле ввода пароля 74
Кнопки Сброс, Отправить и командная кнопка 74
Скрытое поле hidden 74
Поле для установки флажка 75
Элемент-переключатель 75
Поле выбора файла 75
Элементы для ввода числа и выбора значения из диапазона 76
Элемент для ввода даты 76
1.11.5. Список автодополнения 76
1.11.6. Тег textarea. Текстовая область 77
1.11.7. Тег select. Список с предопределенными значениями 79
1.11.8. Тег button . Кнопка 81
1.11.9. Тег label 82
1.11.10. Группировка элементов формы 85
1.12. Тег meter 85
1.13. Тег progress . Индикатор хода процесса 85
1.14. Аудио и видео 86
1.14.1. Вставка аудиоролика 86
1.14.2. Вставка видеоролика 87
1.14.3. Указание нескольких источников аудио или видео 88
1.14.4. Тег track 88
1.15. Универсальные параметры 89
1.16. Проверка HTML-документов на соответствие стандартам 90

Глава 2. Основы CSS 3. Форматируем Web-страницу с помощью стилей

91
2.1. Способы встраивания определения стиля 91
2.1.1. Встраивание определения стиля в тег 92
2.1.2. Встраивание определения стилей в заголовок HTML-документа 92
2.1.3. Вынесение таблицы стилей в отдельный файл 94
2.1.4. Приоритет применения стилей 96
2.2. Указание значений атрибутов 98
2.2.1. Числа 98
2.2.2. Размеры 98
2.2.3. Цвет 99
2.2.4. Строки 100
2.2.5. Углы 100
2.2.6. Универсальные значения 101
2.3. CSS-селекторы 101
2.3.1. Основные селекторы 101
2.3.2. Привязка к параметрам тегов 103
2.3.3. Псевдоэлементы 104
2.3.4. Псевдоклассы 107
2.4. Форматирование шрифта 111
2.4.1. Имя шрифта 112
2.4.2. Стиль шрифта 112
2.4.3. Размер шрифта 112
2.4.4. Цвет текста 112
2.4.5. Жирность шрифта 113
2.4.6. Вид строчных букв 113
2.4.7. Одновременное указание характеристик шрифта 113
2.4.8. Загружаемые шрифты 114
2.5. Форматирование текста 114
2.5.1. Расстояние между символами в словах 114
2.5.2. Расстояние между словами 115
2.5.3. Отступ первой строки 115
2.5.4. Вертикальное расстояние между строками 115
2.5.5. Горизонтальное выравнивание текста 115
2.5.6. Вертикальное выравнивание текста 116
2.5.7. Подчеркивание, надчеркивание и зачеркивание текста 117
2.5.8. Изменение регистра символов 118
2.5.9. Обработка пробелов между словами 119
2.5.10. Перенос слов 120
2.5.11. Направление вывода текста 121
2.6. Отступы 121
2.6.1. Внешние отступы 122
2.6.2. Внутренние отступы 123
2.7. Рамки 124
2.7.1. Стиль линий рамки 124
2.7.2. Толщина линий рамки 126
2.7.3. Цвет линий рамки 126
2.7.4. Одновременное задание характеристик рамки 127
2.7.5. Рамки со скругленными углами 127
2.7.6. Внешняя рамка 128
2.8. Фон элемента 129
2.8.1. Цвет фона 130
2.8.2. Фоновый рисунок 130
2.8.3. Режим повторения фонового рисунка 130
2.8.4. Прокрутка фонового рисунка 131
2.8.5. Положение фонового рисунка 131
2.8.6. Размеры фонового изображения 132
2.8.7. Режим позиционирования фонового изображения 132
2.8.8. Режим заполнения для фона 133
2.8.9. Одновременное задание характеристик фона 133
2.9. Градиентные фоны 133
2.9.1. Линейные градиенты 133
2.9.2. Радиальные градиенты 136
2.10. Списки 138
2.10.1. Вид маркера списка 138
2.10.2. Изображение в качестве маркера списка 139
2.10.3. Компактное отображение списка 139
2.10.4. Одновременное указание характеристик списка 140
2.11. Таблицы 140
2.11.1. Рамки таблицы и ячеек 140
2.11.2. Размеры таблицы 141
2.11.3. Местоположение заголовка 141
2.11.4. Указание характеристик ячеек 141
2.12. Вид курсора 142
2.13. Псевдостили гиперссылок. Отображение ссылок разными цветами 143
2.14. Форматирование блоков 144
2.14.1. Указание типа блока 145
2.14.2. Указание размеров блока 146
2.14.3. Атрибут overflow 147
2.14.4. Управление обтеканием 150
2.14.5. Позиционирование блока 151
2.14.6. Последовательность отображения слоев 154
2.15. Управление отображением элемента 154
2.16. Flex-контейнеры 156
2.16.1. Направление выравнивания элементов внутри контейнера 156
2.16.2. Перенос на новую строку 157
2.16.3. Одновременное указание характеристик flex-контейнера 157
2.16.4. Размеры элемента 158
2.16.5. Растяжение элементов 158
2.16.6. Сжатие элементов 159
2.16.7. Одновременное указание характеристик элементов 159
2.16.8. Выравнивание элементов внутри контейнера 160
2.16.9. Порядок следования элементов внутри контейнера 162
2.17. CSS Grid 162
2.17.1. Описание строк и столбцов 162
2.17.2. Автоматическое размещение элементов внутри сетки 164
2.17.3. Добавление элементов в ячейки сетки 165
2.17.4. Объединение ячеек 167
2.17.5. Размеры неявных ячеек 167
2.17.6. Расстояние между ячейками 168
2.17.7. Имена элементов 169
2.17.8. Одновременное указание характеристик контейнера 170
2.17.9. Выравнивание сетки внутри контейнера 170
2.17.10. Выравнивание элемента внутри ячейки 171
2.18. Многоколоночный текст 172
2.18.1. Количество колонок 173
2.18.2. Размеры колонок 173
2.18.3. Расстояние между колонками 174
2.18.4. Линии между колонками 174
2.19. Фильтры и эффекты 174
2.19.1. Изменение прозрачности 175
2.19.2. Размытие 175
2.19.3. Изменение яркости, насыщенности и контраста 175
2.19.4. Изменение цвета 176
2.19.5. Создание тени 176
Функция drop-shadow() 177
Создание тени для текста 177
Создание тени для блока 177
2.20. Анимация с двумя состояниями 178
2.20.1. Продолжительность анимации 178
2.20.2. Задержка перед началом анимации 179
2.20.3. Задание анимируемых атрибутов 179
2.20.4. Закон анимации 180
2.20.5. Одновременное задание всех параметров анимации 181
2.20.6. Сложная анимация 182
2.21. Анимация с несколькими состояниями 183
2.21.1. Шкала времени 183
2.21.2. Указание названия шкалы времени 184
2.21.3. Продолжительность анимации 184
2.21.4. Задержка перед началом анимации 184
2.21.5. Закон анимации 185
2.21.6. Количество повторений анимации 185
2.21.7. Направление анимации 185
2.21.8. Текущее состояние анимации 186
2.21.9. Состояние элемента до начала анимации и после ее завершения 186
2.21.10. Одновременное задание всех параметров анимации 187
2.21.11. Сложная анимация 188
2.22. Двумерные трансформации 188
2.22.1. Атрибут transform 188
2.22.2. Смещение 189
2.22.3. Изменение масштаба 189
2.22.4. Наклон 190
2.22.5. Вращение 191
2.22.6. Применение матрицы трансформации 191
2.22.7. Позиционирование точки начала координат для двумерных трансформаций 192
2.22.8. Сложные двумерные трансформации 192
2.23. Трехмерные трансформации 193
2.23.1. Перспектива 193
2.23.2. Выполнение трехмерных трансформаций 193
2.23.3. Задание точки зрения 194
2.23.4. Скрытие обратной стороны элемента 195
2.23.5. Режим проецирования элементов на контейнер 196
2.23.6. Позиционирование точки начала координат для трехмерных трансформаций 197
2.23.7. Сложные трехмерные трансформации 198
2.24. Медиазапросы и адаптивный дизайн 198
2.25. Проверка CSS-кода на соответствие стандартам 201

Глава 3. Основы JavaScript. Создаем страницы, реагирующие на действия пользователей

202
3.1. Первые шаги 202
3.1.1. Первая программа на JavaScript 202
3.1.2. Тег script 203
3.1.3. Местоположение программы 205
3.1.4. Консоль в Web-браузере Firefox 207
3.1.5. Комментарии в JavaScript 208
3.1.6. Окно с сообщением и кнопкой OK 209
3.1.7. Окно с сообщением и кнопками OK и Cancel 209
3.1.8. Окно с полем ввода и кнопками OK и Cancel 210
3.1.9. JavaScript-библиотеки 211
3.2. Переменные и типы данных 213
3.2.1. Именование переменных 213
3.2.2. Объявление переменной 213
3.2.3. Типы данных и инициализация переменных 213
3.2.4. Проверка существования переменной 215
3.2.5. Константы 215
3.3. Операторы JavaScript 216
3.3.1. Математические операторы 216
3.3.2. Побитовые операторы 218
3.3.3. Операторы присваивания 219
3.3.4. Операторы сравнения 220
3.3.5. Приоритет выполнения операторов 221
3.3.6. Преобразование типов данных 222
3.3.7. Оператор ветвления if...else 225
3.3.8. Оператор ?: 227
3.3.9. Оператор выбора switch 228
3.4. Циклы. Многократное выполнение блока кода 229
3.4.1. Цикл for 230
3.4.2. Цикл while 231
3.4.3. Цикл do...while 232
3.4.4. Цикл for...in 233
3.4.5. Цикл for...of 233
3.4.6. Оператор continue. Переход на следующую итерацию цикла 234
3.4.7. Оператор break. Прерывание цикла 234
3.5. Числа 235
3.5.1. Указание значений 235
3.5.2. Класс Number 236
3.5.3. Математические константы 239
3.5.4. Основные методы для работы с числами 240
3.5.5. Округление чисел 240
3.5.6. Тригонометрические функции 241
3.5.7. Преобразование строки в число 241
3.5.8. Преобразование числа в строку 242
3.5.9. Генерация псевдослучайных чисел 244
3.5.10. Бесконечность и значение NaN 244
3.6. Массивы и множества 245
3.6.1. Инициализация массива 246
3.6.2. Получение и изменение элемента массива 247
3.6.3. Определение числа элементов массива 248
3.6.4. Многомерные массивы 248
3.6.5. Создание копии массива 249
3.6.6. Слияние массивов 250
3.6.7. Перебор элементов массива 250
3.6.8. Добавление и удаление элементов массива 251
3.6.9. Переворачивание массива 252
3.6.10. Сортировка массива 252
3.6.11. Получение части массива 254
3.6.12. Преобразование массива в строку 254
3.6.13. Проверка наличия элемента в массиве 255
3.6.14. Фильтрация массива 256
3.6.15. Ассоциативные массивы 258
Перебор ассоциативных массивов 258
Класс Map 259
3.6.16. Множества 260
3.7. Строки 260
3.7.1. Инициализация строк 261
3.7.2. Специальные символы в строке 262
3.7.3. Конкатенация строк 262
3.7.4. Определение длины строки 263
3.7.5. Обращение к отдельному символу в строке 263
3.7.6. Изменение регистра символов 264
3.7.7. Получение фрагмента строки 264
3.7.8. Сравнение строк 265
3.7.9. Поиск и замена в строке 265
3.7.10. Преобразование строки в массив 267
3.7.11. URL-кодирование строк 267
3.7.12. Выполнение команд, содержащихся в строке 268
3.8. Регулярные выражения 268
3.8.1. Создание шаблона 268
3.8.2. Методы класса String 268
3.8.3. Методы класса RegExp 270
3.8.4. Свойства класса RegExp 272
3.8.5. Синтаксис регулярных выражений 272
Метасимволы 272
Стандартные классы 274
Экранирование специальных символов 274
Квантификаторы 276
«Жадность» квантификаторов 276
Группы 276
Обратные ссылки 279
3.9. Работа с датой и временем 279
3.9.1. Получение текущей даты и времени 279
3.9.2. Указание произвольных значений даты и времени 279
3.9.3. Разбор строки с датой и временем 280
3.9.4. Методы класса Date 280
3.9.5. Вывод даты и времени в окне Web-браузера 282
3.9.6. Таймеры. Создание часов на Web-странице 284
3.10. Функции. Разделение программы на фрагменты 285
3.10.1. Создание функции 285
3.10.2. Расположение функций внутри HTML-документа 287
3.10.3. Класс Function 288
3.10.4. Переменное число параметров в функции 289
3.10.5. Глобальные и локальные переменные 290
3.10.6. Область видимости блока 291
3.10.7. Способы передачи параметров в функцию 293
3.10.8. Необязательные параметры 293
3.10.9. Анонимные функции 294
3.10.10. Стрелочные функции 295
3.10.11. Функции-генераторы 297
3.10.12. Рекурсия. Вычисление факториала 298
3.11. Классы и объекты 298
3.11.1. Основные понятия 299
3.11.2. Класс Object 299
3.11.3. Создание объекта с помощью фигурных скобок 300
3.11.4. Конструктор класса 301
3.11.5. Инструкция class 302
3.11.6. Свойства и методы класса 304
3.11.7. Перебор свойств объекта 305
3.11.8. Проверка существования свойств и методов 305
3.11.9. Прототипы 306
3.11.10. Пространства имен 308
3.12. Обработка ошибок 310
3.12.1. Синтаксические ошибки 310
3.12.2. Логические ошибки 311
3.12.3. Ошибки времени выполнения 311
3.12.4. Обработка ошибок 312
3.12.5. Оператор throw. Генерация исключений 313
3.12.6. Отладка программы в Web-браузере Firefox 313
3.13. События 314
3.13.1. Назначение обработчиков событий 314
3.13.2. Удаление обработчиков 316
3.13.3. Указатель this 316
3.13.4. Объект event 317
3.13.5. Действия по умолчанию и их отмена 318
3.13.6. Всплывание событий 320
3.13.7. Фазы событий 322
3.13.8. События документа 323
3.13.9. События мыши 324
3.13.10. События клавиатуры 326
3.13.11. События формы 327
3.14. Объектная модель документа (DOM) 329
3.14.1. Структура объектной модели 329
3.14.2. Объект window 330
3.14.3. Работа с фреймами 331
3.14.4. Объект navigator. Получение информации о Web-браузере 331
3.14.5. Объект screen. Получение информации о мониторе пользователя 332
3.14.6. Объект location. Разбор составляющих URL-адреса документа 333
3.14.7. Объект history. Получение информации о просмотренных страницах 333
3.14.8. Объект document. Получение полной информации о HTML-документе 334
3.14.9. Узлы документа 336
3.14.10. Общие свойства и методы элементов Web-страницы 339
3.14.11. Работа с таблицами стилей при помощи JavaScript 341
3.14.12. Объект selection. Проверка наличия выделенного фрагмента 342
3.14.13. Объект Range. Расширение или сжатие выделенного фрагмента текста 344
3.14.14. Сохранение данных на компьютере клиента 347
3.15. Работа с элементами формы 350
3.15.1. Элементы управления 350
3.15.2. Коллекция forms. Доступ к элементу формы из скрипта 351
3.15.3. Свойства объекта формы 351
3.15.4. Методы объекта формы 352
3.15.5. События объекта формы 352
3.15.6. Текстовое поле и поле ввода пароля 353
3.15.7. Поле для ввода многострочного текста 355
3.15.8. Список с возможными значениями 357
3.15.9. Флажок и переключатели 361
3.15.10. Кнопки. Обработка нажатия кнопки 363
3.15.11. Работа с элементами управления 365
3.15.12. Расширенная проверка значения, занесенного в поле ввода 366
3.16. Работа с графическими изображениями 367
3.17. Работа с мультимедиа 368
3.17.1. Свойства аудио- и видеороликов 368
3.17.2. Методы аудио- и видеороликов 370
3.17.3. События аудио- и видеороликов 370
3.18. Холст в HTML 5. Программируемая графика 371
3.18.1. Тег canvas 371
3.18.2. Создание контекста рисования 371
3.18.3. Изменение характеристик заливки 372
3.18.4. Изменение характеристик обводки 372
3.18.5. Рисование прямоугольников 374
3.18.6. Очистка прямоугольной области или всего холста 374
3.18.7. Вывод текста 374
3.18.8. Вывод изображения 376
3.18.9. Рисование траектории 377
3.18.10. Определение вхождения точки в состав контура 379
3.18.11. Использование сложных цветов 380
Линейный градиент 380
Радиальный градиент 380
Заливка текстурой 381
3.18.12. Сохранение и восстановление состояния 382
3.18.13. Трансформации 382
3.18.14. Управление наложением графики 383
3.18.15. Задание уровня прозрачности 384
3.18.16. Создание тени 384
3.18.17. Работа с отдельными пикселами 384
Получение массива пикселов 384
Создание пустого массива пикселов 385
Манипуляция пикселами 385
Вывод массива пикселов 386
3.19. Хранилище 387
3.19.1. Сессионное и локальное хранилища 387
3.19.2. Работа с хранилищем 388
3.19.3. Использование локального хранилища для временного хранения данных 389
3.20. Средства геолокации 390
3.20.1. Доступ к средствам геолокации 390
3.20.2. Получение данных геолокации 390
3.20.3. Обработка нештатных ситуаций 391
3.20.4. Задание дополнительных параметров 392
3.20.5. Отслеживание местоположения компьютера 393
Устанавливаем и настраиваем программы под Windows 395
4.1. Необходимые программы 395
4.2. Установка XAMPP 396
4.3. Структура каталогов сервера Apache 404
4.4. Файл конфигурации Apache (httpd.conf) 406
4.4.1. Основные понятия 406
4.4.2. Разделы файла конфигурации 407
4.4.3. Общие директивы. Создание домашнего каталога пользователя, доступного при запросе http://localhost/~nik/ 408
4.4.4. Переменные сервера и их использование 410
4.4.5. Директивы управления производительностью 411
4.4.6. Директивы обеспечения постоянного соединения 412
4.4.7. Директивы работы с языками 412
4.4.8. Директивы перенаправления 413
4.4.9. Обработка ошибок 413
4.4.10. Настройки MIME-типов 414
4.4.11. Управление листингом каталога 416
4.4.12. Директивы протоколирования 419
4.4.13. Файл конфигурации .htaccess. Управляем сервером Apache из обычного каталога 420
4.4.14. Защита содержимого папки паролем 421
4.4.15. Управление доступом 424
4.4.16. Регулярные выражения, используемые в директивах 426
4.4.17. Создание виртуальных серверов 427
4.5. Файл конфигурации PHP (php.ini) 429
4.6. Файл конфигурации MySQL (my.ini) 432
4.7. Программа phpMyAdmin 435

Глава 5. Основы PHP. Создаем динамические Web-страницы

439
5.1. Первые шаги 439
5.1.1. Первая программа 439
5.1.2. Особенности создания скриптов в кодировке UTF-8 442
5.1.3. Методы встраивания PHP-кода 444
5.1.4. Комментарии в PHP-сценариях 444
5.1.5. Вывод результатов работы скрипта 445
5.1.6. Буферизация вывода 447
5.1.7. Преждевременное завершение выполнения программы 450
5.2. Переменные и типы данных 451
5.2.1. Именование переменных 451
5.2.2. Типы данных и инициализация переменных 452
5.2.3. Преобразование и приведение типов 453
5.2.4. Проверка существования переменной 454
5.2.5. Удаление переменной 455
5.2.6. Константы 456
5.2.7. Переменные окружения 458
5.2.8. Массив $GLOBALS 461
5.2.9. Вывод значений переменных 461
5.2.10. Ссылки 462
5.3. Операторы 463
5.3.1. Математические операторы 463
5.3.2. Побитовые операторы 465
5.3.3. Операторы присваивания 467
5.3.4. Операторы сравнения 468
5.3.5. Оператор = 469
5.3.6. Оператор ?? 470
5.3.7. Приоритет выполнения операторов 470
5.3.8. Преобразование типов данных 471
5.3.9. Оператор ветвления if 472
5.3.10. Оператор ?: 475
5.3.11. Оператор выбора switch 476
5.4. Циклы. Многократное выполнение блока кода 479
5.4.1. Цикл for 479
5.4.2. Цикл while 481
5.4.3. Цикл do...while 482
5.4.4. Цикл foreach 482
5.4.5. Оператор continue. Переход на следующую итерацию цикла 484
5.4.6. Оператор break. Прерывание цикла 485
5.4.7. Оператор goto 485
5.5. Числа 486
5.5.1. Математические константы 487
5.5.2. Основные функции для работы с числами 487
5.5.3. Округление чисел 488
5.5.4. Тригонометрические функции 488
5.5.5. Преобразование строки в число 489
5.5.6. Преобразование числа в строку 490
5.5.7. Генерация псевдослучайных чисел 491
5.5.8. Бесконечность и значение NaN 492
5.6. Массивы 493
5.6.1. Инициализация массива 493
5.6.2. Получение и изменение элемента массива 495
5.6.3. Определение числа элементов массива 495
5.6.4. Ассоциативные массивы 496
5.6.5. Многомерные массивы 497
5.6.6. Создание копии массива 498
5.6.7. Слияние массивов 499
5.6.8. Перебор элементов массива 500
Цикл foreach 500
Цикл for 501
Цикл while 503
Перебор элементов массива без использования циклов 503
5.6.9. Добавление и удаление элементов массива 504
5.6.10. Переворачивание и перемешивание массива 505
5.6.11. Сортировка массива 505
Создание пользовательской сортировки 507
5.6.12. Получение части массива 508
5.6.13. Преобразование переменных в массив 509
5.6.14. Преобразование массива в переменные 509
5.6.15. Заполнение массива значениями 510
5.6.16. Преобразование массива в строку 510
5.6.17. Проверка наличия значения в массиве 512
5.6.18. Операции со множествами 512
5.6.19. Фильтрация массива 514
5.7. Строки 515
5.7.1. Инициализация строк 515
5.7.2. Специальные символы в строке 516
5.7.3. Подстановка значений переменных в строку 517
5.7.4. Конкатенация строк 518
5.7.5. Строка в обратных кавычках. Запуск внешних программ 519
5.7.6. Обращение к отдельному символу в строке 519
5.7.7. Строки в кодировке UTF-8 520
5.7.8. Преобразование кодировок 523
5.7.9. Определение длины строки 524
5.7.10. Настройка локали 525
5.7.11. Изменение регистра символов 526
5.7.12. Получение фрагмента строки 527
5.7.13. Сравнение строк 528
5.7.14. Поиск в строке 530
5.7.15. Замена в строке 532
5.7.16. Преобразование строки в массив и обратно 536
5.7.17. Кодирование и шифрование строк 537
5.7.18. Форматирование строки 539
5.8. Регулярные выражения PCRE 544
5.8.1. Создание шаблона 544
5.8.2. Синтаксис регулярных выражений 545
Экранирование специальных символов 546
Метасимволы 547
Стандартные классы 550
Квантификаторы 551
«Жадность» квантификаторов 552
Группы 552
Обратные ссылки 554
Просмотр вперед или назад 555
5.8.3. Сравнение с шаблоном 557
5.8.4. Поиск всех совпадений с шаблоном 559
5.8.5. Замена в строке 560
5.8.6. Функция preg_split() 562
5.8.7. Функция preg_grep() 563
5.9. Работа с датой и временем 563
5.9.1. Получение текущих даты и времени 564
5.9.2. Форматирование даты и времени 565
5.9.3. Проверка корректности введенной даты 568
5.9.4. Класс DateTime 569
Создание объекта 569
Указание и получение значений 569
Форматирование строки с датой и временем 570
Разбор строки с датой и временем 570
Прибавление и вычитание интервала 571
Вычисление разницы между датами 572
Сравнение двух объектов DateTime 572
5.9.5. «Засыпание» программы 572
5.9.6. Измерение времени выполнения 573
5.10. Пользовательские функции 574
5.10.1. Создание функции 574
5.10.2. Расположение описаний функций 576
5.10.3. Операторы require и include. Выносим функции в отдельный файл 577
5.10.4. Операторы require_once и include_once 580
5.10.5. Проверка существования функции 581
5.10.6. Вывод всех доступных сценарию функций 581
5.10.7. Объявление типов параметров 582
5.10.8. Строгая типизация 584
5.10.9. Способы передачи параметров 585
5.10.10. Способы возврата значений 586
5.10.11. Переменное число параметров в функции 587
5.10.12. Распаковка массива 589
5.10.13. Глобальные и локальные переменные 590
5.10.14. Статические переменные 592
5.10.15. Анонимные функции 592
5.10.16. Функции обратного вызова 594
5.10.17. Функции-генераторы 595
5.10.18. Рекурсия 598
5.11. Пространства имен 599
5.11.1. Объявление пространства имен 599
5.11.2. Использование пространств имен 601
5.11.3. Инструкция use 602
5.12. Классы и объекты 604
5.12.1. Создание класса и экземпляра класса 605
5.12.2. Объявление свойств внутри класса 607
5.12.3. Определение методов внутри класса 609
5.12.4. Конструктор и деструктор 611
5.12.5. Наследование 613
5.12.6. Переопределение методов базового класса 615
5.12.7. Финальные классы и методы 615
5.12.8. Абстрактные классы и методы 616
5.12.9. Объявление констант внутри класса 617
5.12.10. Статические свойства и методы 618
5.12.11. Методы-фабрики 619
5.12.12. Полиморфизм 619
5.12.13. Позднее статическое связывание 620
5.12.14. Передача объектов в функцию 620
5.12.15. Оператор instanceof 624
5.12.16. Приведение типов 624
5.12.17. Магические методы 625
5.12.18. Сравнение объектов 627
5.12.19. Автоматическая загрузка классов 628
5.12.20. Функции для работы с классами и объектами 629
5.12.21. Создание шаблона сайта при помощи класса 631
5.13. Интерфейсы 633
5.13.1. Создание интерфейса 634
5.13.2. Реализация интерфейса 635
5.13.3. Реализация нескольких интерфейсов 638
5.13.4. Расширение интерфейсов 638
5.13.5. Создание констант внутри интерфейса 639
5.13.6. Интерфейсы и обратный вызов 640
5.13.7. Функции для работы с интерфейсами 641
5.13.8. Сериализация объектов 642
Методы __sleep() и __wakeup() 643
Интерфейс Serializable 644
5.13.9. Итераторы 645
Интерфейс IteratorAggregate 645
Интерфейс Iterator 646
5.14. Трейты 647
5.14.1. Создание и импорт трейта 647
5.14.2. Импорт нескольких трейтов 649
5.14.3. Изменение модификатора доступа при импорте 650
5.14.4. Приоритет при наследовании 651
5.14.5. Импорт трейта внутри другого трейта 652
5.14.6. Функции для работы с трейтами 652
5.15. Обработка ошибок 653
5.15.1. Синтаксические ошибки 653
5.15.2. Логические ошибки 653
5.15.3. Ошибки времени выполнения 654
5.15.4. Оператор @ 654
5.15.5. Управление отображением сообщений об ошибках 654
5.15.6. Инструкция or die() 657
5.15.7. Обработка и генерация пользовательских ошибок 657
5.15.8. Инструкция try...catch...finally 658
5.15.9. Оператор throw. Генерация исключений 663
5.15.10. Иерархия классов исключений 664
5.15.11. Пользовательские классы исключений 665
5.15.12. Способы поиска ошибок в программе 666
5.16. Работа с файлами и каталогами 669
5.16.1. Открытие и закрытие файла 670
5.16.2. Установка и снятие блокировки 671
5.16.3. Чтение и запись файлов 671
5.16.4. Перемещение указателя внутри файла 675
5.16.5. Создание списка рассылки с возможностью добавления, изменения и удаления адресов E-mail 676
5.16.6. Чтение CSV-файлов. Преобразование CSV-файла в HTML-таблицу 681
5.16.7. Права доступа в операционной системе UNIX 683
5.16.8. Функции для работы с файлами 685
5.16.9. Загрузка файлов на сервер 686
5.16.10. Функции для работы с каталогами 689
5.16.11. Создаем программу для просмотра всех доступных каталогов и файлов на диске 691
5.17. Взаимодействие с Интернетом 693
5.17.1. Диалог между Web-браузером и сервером 694
5.17.2. Основные заголовки HTTP 696
5.17.3. Функция header() 698
5.17.4. Перенаправление клиента на другой URL-адрес 698
5.17.5. Запрет кэширования страниц 699
5.17.6. Реализация ссылки Скачать 700
5.17.7. Просмотр заголовков, отправляемых сервером 701
5.17.8. Удаление заголовков 703
5.17.9. Работа с cookies 703
5.17.10. Создаем индивидуальный счетчик просмотров 705
5.17.11. Разбор и кодирование URL-адреса 705
5.17.12. Получение информации из сети Интернет 706
5.17.13. Функция fsockopen() 710
5.17.14. Использование библиотеки CURL 713
5.17.15. Отправка писем с сайта 718
5.17.16. Рассылка писем по адресам E-mail из файла 720
5.18. Обработка данных формы 721
5.18.1. Текстовое поле, поле ввода пароля и скрытое поле 721
5.18.2. Поле для ввода многострочного текста 722
5.18.3. Список с возможными значениями 723
5.18.4. Флажок 724
5.18.5. Элемент-переключатель 725
5.18.6. Кнопка Submit 725
5.18.7. Проверка корректности данных. Создание формы регистрации пользователя 726
5.19. Аутентификация с помощью PHP 730
5.19.1. Директивы для управления механизмом сессий 730
5.19.2. Функции для управления сессиями 731
5.19.3. Создание Личного кабинета 733
5.20. Работа с графикой 735
5.20.1. Получение информации о библиотеке GD 735
5.20.2. Загрузка изображения из файла 736
5.20.3. Создание нового изображения 736
5.20.4. Вывод изображения в Web-браузер 737
5.20.5. Сохранение изображения в файл 738
5.20.6. Получение информации об изображении 739
5.20.7. Библиотека php_exif 740
5.20.8. Работа с цветом 742
5.20.9. Смешивание цветов 745
5.20.10. Рисование линий и фигур 746
5.20.11. Изменение характеристик линии 749
5.20.12. Вывод текста в изображение 750
5.20.13. Создаем счетчик посещений 753
5.20.14. Изменение размеров и копирование изображений 754
5.20.15. Обрезка изображения 757
5.20.16. Вращение изображения 757
5.20.17. Аффинные преобразования 758
5.20.18. Применение фильтров 759
Размытие изображения 759
Изменение яркости и контраста 760
Изменение цвета 760
Выделение границ 760
Разделение изображения на блоки 760
Применение произвольного фильтра 761
5.20.19. Создание зеркального отражения 761
5.20.20. Создание скриншота экрана 762
5.21. Другие полезные функции 762
5.21.1. Выделение фрагментов исходного кода 762
5.21.2. Получение информации об интерпретаторе 763
5.21.3. Изменение значения директив во время выполнения сценария 763
5.21.4. Выполнение команд, содержащихся в строке 765

Глава 6. Основы MySQL. Работаем с базами данных

766
6.1. Основные понятия 766
6.2. Нормализация базы данных 766
6.3. Типы данных полей 769
6.3.1. Числовые типы 770
6.3.2. Строковые типы 770
6.3.3. Дата и время 771
6.4. Основы языка SQL 771
6.4.1. Создание базы данных 772
6.4.2. Создание пользователя базы данных 773
6.4.3. Создание таблицы 775
6.4.4. Добавление данных в таблицу 778
6.4.5. Обновление записей 780
6.4.6. Удаление записей из таблицы 781
6.4.7. Изменение структуры таблицы 781
6.4.8. Выбор записей 782
6.4.9. Выбор записей из нескольких таблиц 784
6.4.10. Индексы. Ускорение выполнения запросов 788
6.4.11. Удаление таблицы и базы данных 793
6.5. Доступ к базе данных MySQL из PHP-скрипта 793
6.5.1. Установка соединения 794
6.5.2. Выбор базы данных 795
6.5.3. Выполнение запроса к базе данных 796
6.5.4. Обработка результата запроса при процедурном стиле 798
6.5.5. Обработка результата запроса при объектном стиле 800
6.5.6. Экранирование специальных символов 803
6.6. Транзакции 806
6.6.1. Автозавершение транзакций и его отключение 807
6.6.2. Запуск, подтверждение и отмена транзакций 807
6.6.3. Изоляция транзакций 810
Введение в изоляцию транзакций 810
Уровни изоляции транзакций 810
6.6.4. Именованные точки сохранения 812
6.6.5. Блокировка таблиц и строк 812
6.6.6. Поддержка транзакций библиотекой php_mysqli.dll 814
6.7. Операторы MySQL 816
6.7.1. Математические операторы 818
6.7.2. Побитовые операторы 819
6.7.3. Операторы сравнения 820
6.7.4. Операторы присваивания 822
6.7.5. Приоритет выполнения операторов 822
6.7.6. Преобразование типов данных 823
6.8. Поиск по шаблону 824
6.9. Поиск с помощью регулярных выражений 827
6.10. Режим полнотекстового поиска 830
6.10.1. Создание индекса FULLTEXT 830
6.10.2. Реализация полнотекстового поиска 831
6.10.3. Режим логического поиска 832
6.10.4. Поиск с расширением запроса 833
6.11. Функции MySQL 834
6.11.1. Функции для работы с числами 834
6.11.2. Функции даты и времени 838
6.11.3. Функции для обработки строк 849
6.11.4. Функции для шифрования строк 855
6.11.5. Информационные функции 856
6.11.6. Прочие функции 857
6.12. Переменные SQL 860
6.13. Временные таблицы 862
6.14. Вложенные запросы 863
6.14.1. Заполнение таблицы с помощью вложенного запроса 864
6.14.2. Применение вложенных запросов в инструкции WHERE 866
6.14.3. Применение вложенных запросов в инструкции FROM 867
6.15. Внешние ключи 868

Глава 7. AJAX. Обмен данными без перезагрузки Web-страницы

871
7.1. Подготовка к загрузке данных 871
7.1.1. Стандартный способ 871
7.1.2. Способ, применяемый в Internet Explorer 5 и 6 872
7.1.3. Универсальный способ 872
7.2. Отправка запроса 872
7.2.1. Синхронный или асинхронный запрос? 872
7.2.2. Задание параметров запроса 873
7.2.3. Задание MIME-типа отправляемых данных 873
7.2.4. Собственно отправка запроса 874
7.2.5. Отправка данных с запросом 874
7.3. Получение данных 875
7.3.1. Назначение обработчика изменения статуса 875
7.3.2. Определение успешного получения данных 876
7.3.3. Собственно получение данных 876
7.4. Формат JSON 878
7.4.1. Описание формата JSON 878
7.4.2. Декодирование данных JSON: стандартный способ 879
7.4.3. Декодирование данных JSON: способ, применяемый в устаревших Web-браузерах 879
7.4.4. Декодирование данных JSON: универсальный способ 879
7.4.5. Преобразование объекта в строку в формате JSON 881
7.4.6. Кодирование и декодирование данных в формате JSON в PHP 882
   
Приложение. Описание электронного архива 885
Предметный указатель 886


На главную | Где купить | Авторам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты
© 2001–2019 Издательство «БХВ-Петербург».
Все права защищены. Частичное или полное копирование текстов, слоганов и фотоизображений без письменного согласия Правообладателя запрещено.