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

Laravel. Быстрая разработка современных динамических Web-сайтов на PHP, MySQL, HTML и CSS

Автор Дронов В.
Название Laravel. Быстрая разработка современных динамических Web-сайтов на PHP, MySQL, HTML и CSS
Серия Профессиональное программирование
ISBN 978-5-9775-3845-9
Формат 70×100/16, мягкая обложка
Объем 768
Тематика
Оптовая цена
    Вернуться к описанию книги

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

Введение в быструю разработку сайтов 1
Что придется сделать разработчику? 1
Упрощение разработки серверной части Web-сайта. Фреймворки 2
Фреймворк Laravel — номер один в Web-программировании! 3
О чем эта книга? 4
Типографские соглашения 5
Что нас ждет в будущем? 6

Часть I. Разработка клиентской части Web-сайта

9

Раздел 1. Содержимое Web-страниц. Язык HTML 5

11

Глава 1. Современный Web-дизайн. Введение в язык HTML 5

13
Клиентская часть Web-сайта 13
Статические Web-страницы и Web-сайты 14
Содержание, представление и поведение Web-страниц 14
Интернет: как все это работает? 15
Web-серверы 15
Интернет-адреса 16
Введение в язык HTML 5 18
Первая Web-страница 18
Теги и атрибуты тегов 19
Вложенность тегов 21
Форматирование Web-страниц 22
Секции Web-страницы 22
Метаданные и метатеги 23

Глава 2. Структурирование и оформление текста. Литералы. Комментарии HTML

25
Структурирование текста 25
Абзацы и заголовки 25
Блочные элементы HTML 27
Списки 27
Блочные цитаты и адреса 29
Текст фиксированного формата 30
Блочные контейнеры 31
Семантическая разметка текста 31
Горизонтальные линии 33
Оформление текста 33
Выделение фрагментов текста 33
Встроенные элементы HTML 34
Встроенные контейнеры 35
Разрыв строки 35
Вставка специальных символов. Литералы 36
Комментарии 38

Глава 3. Графика и мультимедиа

39
Внедренные элементы Web-страниц 39
Графика 39
Поддерживаемые форматы интернет-графики 40
Вставка графических изображений 41
Мультимедиа 42
Поддерживаемые форматы интернет-мультимедиа 42
Вставка аудиоролика 43
Вставка видеоролика 44

Глава 4. Таблицы

46
Создание таблиц 46
Дополнительные инструменты для создания таблиц 49
Заголовок таблицы 49
Секции таблицы 50
Колонки и группы колонок 51
Объединение ячеек таблиц 53

Глава 5. Средства навигации

56
Текстовые гиперссылки 56
Создание гиперссылок 56
Интернет-адреса в WWW 58
Почтовые гиперссылки 59
Дополнительные возможности гиперссылок 59
Графические гиперссылки 61
Изображения-гиперссылки 61
Изображения-карты 61
Панель навигации 63
Якоря 64

Глава 6. Web-формы и элементы управления. Фреймы

65
Web-формы 65
Что такое Web-форма и зачем она нужна? 65
Создание Web-форм 66
Элементы управления 68
Общие вопросы создания элементов управления 68
Поле ввода 69
Поле ввода пароля 70
Поле ввода числа 70
Поле ввода интернет-адреса 71
Поле ввода адреса электронной почты 71
Флажок 71
Переключатель 72
Регулятор 72
Область редактирования 73
Список 73
Поле ввода файла 75
Скрытое поле 76
Кнопки 77
Элементы оформления 78
Надпись 78
Группа 78
Фреймы 79
Каскадные таблицы стилей CSS 3 81

Глава 7. Введение в CSS

83
Понятие о стилях CSS 83
Создание стилей CSS 84
Таблицы стилей. Встроенные стили 86
Правила каскадности и приоритет стилей 88
Наследование атрибутов стилей 90
Комментарии CSS 91

Глава 8. Селекторы стилей. Единицы измерения CSS

92
Селекторы стилей 92
Введение в селекторы стилей 92
Компоненты указателей 93
Основные указатели 93
Указатели на атрибуты тега 95
Псевдоклассы 96
Псевдоэлементы 100
Разделители 100
Единицы измерения и вычисления CSS 101
Важные атрибуты стилей 103

Глава 9. Параметры текста

104
Параметры шрифта 104
Параметры вывода текста 108
Параметры списков 109
Дополнительные параметры текста 111
Тень у текста 111
Вывод текста 112
Загружаемые шрифты. Директивы CSS 113

Глава 10. Отображение и видимость элементов. Параметры курсора. Генерируемое содержание

116
Параметры отображения 116
Параметры курсора 118
Генерируемое содержание 119
Статичное генерируемое содержание 119
Создание нумерации 120

Глава 11. Параметры фона. Градиентные фоны CSS 3

123
Сплошной фон 123
Графический фон 124
Создание графического фона 124
Параметры графического фона 125
Задание сразу всех параметров фона 128
Градиентный фон 128
Введение в градиенты и градиентные фоны 128
Создание линейного градиента 129
Создание радиального градиента 130
Создание повторяющегося градиента 132
Параметры таблиц 133
Параметры отступов 133
Параметры рамки 135
Параметры размеров 139
Параметры переполнения. Элементы с прокруткой 140
Параметры тени у блочного элемента 142
Параметры выделения 142
Параметры таблиц 143
Параметры выравнивания 144
Параметры отступов и рамок 144
Параметры размеров 146
Прочие параметры 148

Глава 13. Инструменты для создания разметки

149
Плавающие элементы 149
Позиционируемые элементы 151
Понятие позиционируемого элемента 151
Создание позиционируемых элементов 152
Гибкая верстка 155
Реализация гибкой верстки 155
Выравнивание позиций 157
Выравнивание отдельных позиций 160
Управление размерами и порядком следования позиций 162
Многоколоночная верстка 164
Базовые средства многоколоночной верстки 164
Задание дополнительных параметров колонок 165
Разметка Web-страницы и ее создание 167
Табличная разметка на основе блоков 168
Табличная разметка с фиксированными «шапкой» и «поддоном» 169
Рамочная разметка 171

Глава 14. Специальные эффекты CSS 3

174
Преобразования 174
Как задаются преобразования и их параметры? 174
Двухмерные преобразования 174
Смещение 175
Масштабирование 175
Наклон 176
Поворот 176
Трехмерные преобразования 177
Перспектива 177
Указание трехмерных преобразований 178
Точка зрения и ее местоположение 178
Скрытие обратной стороны элемента 180
Режим проецирования элементов-потомков 181
Позиционирование точки начала координат 182
Сложные преобразования 183
Анимация 183
Трансформационная анимация 183
Простейшая анимация 184
Обратная анимация 187
Сложная анимация 187
Покадровая анимация 188
Состояния анимации 189
Параметры анимации 190

Глава 15. Медиазапросы. Управление выводом на печать

194
Использование медиазапросов 194
Медиазапросы HTML 195
Введение в медиазапросы HTML 195
Указатели медиазапросов 196
Разделители медиазапросов 198
Медиазапросы CSS 199
Управление выводом на печать 199

Раздел 3. Поведение Web-страниц. Web-сценарии

201

Глава 16. Язык программирования JavaScript

203
Основные понятия JavaScript 203
Типы данных JavaScript 205
Переменные 207
Именование переменных 207
Объявление переменных 207
Операторы 208
Арифметические операторы 208
Оператор объединения строк 209
Операторы присваивания 209
Операторы сравнения 210
Логические операторы 210
Оператор получения типа typeof 211
Преобразование типов данных 212
Приоритет операторов 213
Блоки 215
Управляющие конструкции 215
Ветвление 215
Оператор ветвления ? 217
Переключение 217
Циклы 218
Цикл со счетчиком 218
Цикл с предусловием 219
Цикл с постусловием 220
Прерывание и перезапуск цикла 220
Функции 221
Объявление функций 221
Функции и переменные. Локальные переменные 222
Вызов функций 222
Присваивание функций. Функциональный тип данных 223
Массивы 224
Ссылки. Пустая ссылка null 226
Объекты и экземпляры объектов 227
Понятия объекта и экземпляра объекта 227
Создание экземпляра объекта 227
Работа с экземпляром объекта 228
Добавленные свойства и методы 229
Статические свойства и методы 229
Встроенные объекты языка JavaScript 229
Объект Object и использование его экземпляров 231
Оператор instanceof 232
Цикл по свойствам объекта 233
Обработка исключений 234
Комментарии JavaScript 236
Как Web-сценарии помещаются в код Web-страницы? 236

Глава 17. Доступ к элементам страницы и управление ими

239
Объектная модель документа 239
Доступ к странице и ее элементам 241
Доступ к странице 241
Доступ к элементам страницы 241
Прямой доступ к элементу страницы 241
Доступ по имени тега или стилевого класса. Коллекции 242
Доступ по селекторам CSS 243
Доступ к родителю, потомкам и соседним элементам. Узлы 244
Быстрый доступ к элементам страницы 246
Работа со страницей и ее элементами 247
Работа с параметрами страницы 247
Работа с параметрами элемента 247
Работа с основными параметрами 247
Работа с параметрами местоположения и размеров элемента страницы 248
Работа с атрибутами тега и их значениями 250
Работа со стилями 251
Работа с содержимым элемента 253
Добавление нового содержимого 254
Добавление и удаление элементов страницы 254

Глава 18. Обработка событий

258
Введение в события и их обработку 258
События 258
Обработчики событий и их привязка 259
Получение сведений о событии 260
События, поддерживаемые элементами страницы 261
События мыши 261
События клавиатуры 264
Событие прокрутки 265
События секции тела страницы 265
Особые случаи обработки событий 266
Туннелирование и всплытие событий 266
Обработчик события по умолчанию и его отмена 268

Глава 19. Управление интерактивными и внедренными элементами

270
Интерактивные элементы 270
Гиперссылки 270
Web-формы 271
Элементы управления 272
Внедренные элементы 279
Графические изображения 279
Аудио- и видеоролики 280

Глава 20. Работа с Web-обозревателем

285
Окна Web-обозревателя 285
Интернет-адрес текущей страницы 289
Список истории Web-обозревателя 290
Параметры экрана 291
Сведения о Web-обозревателе 292
Стандартные диалоговые окна и сообщения 293
Таймеры 294

Глава 21. Работа с локальными файлами. Регулярные выражения

296
Работа с локальными файлами 296
Получение выбранных файлов и сведений о них 296
Загрузка выбранных файлов 298
Регулярные выражения 301
Написание регулярных выражений. Литералы и группы 301
Работа с регулярными выражениями 304

Глава 22. AJAX

308
Введение в AJAX 308
Программная реализация AJAX 309
Объект XMLHttpRequest 309
Отправка запроса 309
Получение результата 312
Формат JSON 313
AJAX-навигация 315

Часть II. Разработка серверной части Web-сайта

319

Раздел 4. Введение в серверное программирование. PHP. MySQL

321

Глава 23. Серверные программы. Фреймворки

323
Динамические страницы и сайты 323
Разработка серверных программ. Фреймворки 325
Введение во фреймворки. Модели, шаблоны, контроллеры 326

Глава 24. Программная платформа PHP

330
Основные принципы, типы данных, переменные и операторы 330
Управляющие конструкции 332
Функции 333
Массивы. Ассоциативные массивы 334
Регулярные выражения 335
Классы и объекты 336
Доступ к свойствам и методам объекта 336
Объявление классов 337
Наследование классов 338
Конструкторы и деструкторы 340
Модификаторы доступа 341
Константы класса 342
Интерфейсы 342
Трейты 343
Пространства имен 344
Определение пространств имен 344
Работа с пространствами имен 345
Принципы написания программного кода PHP 346

Глава 25. Базы данных. Сервер данных MySQL

348
Реляционные базы данных 348
Введение в реляционные базы данных 348
Поля 349
Индексы и ключи 350
Связи 352
Язык SQL 353
СУБД MySQL 355
Типы данных, поддерживаемые MySQL 355
Атрибуты полей и индексов 357
Агрегатные функции 357
Пользователи и их права 358

Раздел 5. Фреймворк Laravel

361

Глава 26. Установка и настройка Laravel

363
Программные требования Laravel 363
Создание нового проекта 363
Структура папок Laravel-проекта 365
Настройка сайта 367
Настройка соединения с базой данных 368
Настройки отправки электронной почты 368
Настройки режима работы сайта 369
Прочие настройки 370
Обработка ошибок 370

Глава 27. Миграции

372
Преимущества миграций 372
Создание миграций 373
Прототипирование миграций 373
Код новой миграции. Фасады Laravel 374
Создание структур данных 375
Создание таблиц 375
Создание полей 375
Создание индексов 378
Создание связей 379
Правка и переименование структур данных 381
Добавление полей 381
Правка и переименование полей 382
Переименование таблиц 382
Удаление структур данных 383
Удаление связей 383
Удаление индексов 383
Удаление полей 384
Удаление таблиц 384
Выполнение и откат миграций 385
Дополнительные возможности миграций 385

Глава 28. Модели

387
Модели Laravel: требования и соглашения 387
Создание простых моделей 388
Прототипирование моделей. Базовый класс модели 388
Задание параметров модели 389
Создание связей 390
Связь «один-ко-многим» 390
Связь «один-к-одному» 393
Связь «многие-ко-многим» 393
Сквозная связь 395
Расширение функциональности модели 397
Создание вычисляемых полей 397
Указание другого поля для поиска при внедрении модели 398
Создание обработчиков событий 398
Произвольные свойства и методы модели 401

Глава 29. Маршрутизация

403
Введение в маршрутизацию 403
Где хранятся настройки маршрутизации? 404
Указание маршрутов 405
Простые маршруты 405
Параметризованные маршруты 406
Правила для значений параметров в параметризованных маршрутах 407
Именованные маршруты 409
Указание посредников для маршрутов 409
Массовое создание маршрутов 410
Базовые средства для массового создания маршрутов 410
Дополнительные параметры массово создаваемых маршрутов 412
Внедрение модели в контроллер 413
Неявное внедрение модели 413
Явное внедрение модели 414
Группы маршрутов 416
Физические интернет-адреса 417

Глава 30. Контроллеры и действия

419
Контроллеры Laravel: требования и соглашения 419
Создание контроллеров 420
Получение данных от посетителя 421
Работа с базой данных 423
Простая выборка записей 424
Поиск записей по их номерам 424
Выборка всех записей 425
Выборка первой записи 425
Получение значений полей записи 425
Получение связанных записей 425
Создание запросов к базе данных 427
Фильтрация записей 427
Фильтрация по наличию или отсутствию связанных записей 431
Сортировка записей 432
Указание выбираемых полей 433
Выборка уникальных записей 434
Связывание таблиц 434
Использование агрегатных функций. Группировка записей 435
Получение количества связанных записей 435
Использование агрегатных функций применительно ко всем записям 436
Использование агрегатных функций применительно к сгруппированным записям 437
Фильтрация и сортировка групп записей 437
Ограничение количества выбираемых записей 438
Специальные случаи выборки записей 439
Использование пагинатора 439
Упрощенный пагинатор 440
Полнофункциональный пагинатор 442
Получение сведений о запросе 442
Получение путей к папкам фреймворка 444
Вывод данных 444
Вывод посредством шаблона 445
Вывод в формате JSON 446
Вывод пагинатора в формате JSON 447
Отправка файлов 447
Перенаправление 448
Перенаправление с выводом всплывающих сообщений 449
Указание посредников в контроллерах 450
Особые разновидности контроллеров 451
Контроллеры-функции 451
Контроллеры-действия 452

Глава 31. Шаблоны

453
Шаблоны Laravel: требования и соглашения 453
Создание шаблонов 453
Команды языка Blade 456
Команды вывода данных 456
Ветвления 456
Циклы 457
Прерывание и перезапуск цикла 457
Служебная переменная loop 458
Комментарии Blade 459
Вставка PHP-кода 459
Особые случаи вывода данных 459
Генерирование интернет-адресов 459
Создание Web-форм и элементов управления 461
Указание метода отправки данных 461
Защита от сетевых атак 461
Вывод введенных ранее данных 462
Вывод сообщений об ошибках 462
Вывод всплывающих сообщений 463
Вывод пагинатора 463
Вложенные шаблоны 465
Наследование шаблонов 467
Создание шаблонов-родителей 467
Создание шаблонов-потомков 468
Стеки 469
Разделяемые данные и составители 470
Разделяемые данные 470
Составители 471
Получение доступа к контроллеру 473

Глава 32. Ввод и правка данных

474
Создание, правка и удаление отдельных записей 474
Создание и правка записей 474
Создание Web-формы для ввода и правки записи 474
Создание записи 476
Правка записи 479
Удаление записей 481
Обработка связей между таблицами 482
Связь «один-ко-многим» 482
Связь "многие-ко-многим" 483
Дополнительные инструменты для создания и правки отдельных записей 485
Поиск или создание записей 485
Исправление или создание записей 486
Работа со связанными записями 487
Проверка введенных в форму данных на корректность. Валидаторы 489
Простейшие валидаторы 489
Полностью автоматическая валидация 489
Полуавтоматическая валидация 490
Условные правила валидации 492
Правила валидации 492
Запросы форм 495
Массовые создание, правка и удаление записей 497
Работа с выгруженными файлами 499
Файловое хранилище и диски Laravel 499
Особенности создания Web-формы для выгрузки файлов 501
Получение и сохранение выгруженных файлов 501
Получение выгруженного файла и сведений о нем 501
Сохранение выгруженного файла 502
Работа с выгруженными файлами 503

Глава 33. Разграничение доступа. Использование CAPTCHA

505
Встроенная подсистема разграничения доступа Laravel 505
Ограничение доступа к страницам 507
Простые случаи ограничения доступа 507
Ограничение доступа на основе более сложных условий 508
Шлюзы 509
Политики 510
Ограничение доступа на основе запросов форм 514
Ограничение доступа в шаблонах 514
Вывод сведений о текущем пользователе 515
Настройка встроенной подсистемы разграничения доступа 516
Базовые настройки 516
Модификация списка пользователей 521
Настройка писем, отправляемых действием восстановления пароля 522
Создание оповещения 522
Подготовка шаблона для оповещения 525
Отправка оповещений 525
Использование CAPTCHA. Библиотека Captcha for Laravel 526
Установка 526
Настройка 527
Использование 529

Глава 34. Кэширование

530
Настройки кэширования 530
Кэширование в папке 530
Кэширование в таблице базы данных 531
Кэширование в оперативной памяти 532
Занесение данных в кэш 532
Изменение данных, хранящихся в кэше 533
Получение данных из кэша 533
Простое получение данных 533
Получение данных из кэша с одновременной их записью 534
Получение данных из кэша с последующим их удалением 535
Удаление данных из кэша 535
Работа с другим хранилищем 536

Часть III. Практика разработки: создание Web-сайта электронных публикаций

537

Раздел 6. Разработка Web-сайта — сводим все воедино

539

Глава 35. Планирование и предварительные действия

541
Планирование Web-сайта 541
Основные этапы планирования Web-сайта 541
Дизайн Web-сайта 542
Логическая и физическая структуры Web-сайта 543
«СЭП» — Web-сайт электронных публикаций 544
Дизайн сайта 544
Создание и настройка проекта 545

Глава 36. Создание дизайна Web-страниц

548
Особенности создания представления для Web-страниц 548
Web-страницы для традиционных компьютеров 549
Разметка 549
Начальное представление 550
«Шапка» 551
Панель навигации 553
Блок основного содержания 555
Параметры самого блока основного содержания 555
Параметры текста 555
Параметры нумерации заголовков 556
Параметры внедренных элементов 557
Параметры Web-форм и элементов управления 559
«Поддон» 562
Web-страницы для мобильных устройств 563
Разметка 563
«Шапка» 563
Блок основного содержания 564
«Поддон» 565
Печатная редакция Web-сайта 566

Глава 37. Интерактивные элементы

568
Спойлер 568
Формирование спойлера 568
Представление спойлера 569
Программирование спойлера 571
Лайтбокс 573
Формирование лайтбокса 573
Представление лайтбокса 574
Программирование лайтбокса 577
Блокнот 579
Формирование блокнота 579
Представление блокнота 580
Программирование блокнота 582

Глава 38. Статические Web-страницы

585
Маршруты 585
Контроллеры 585
Базовый класс контроллера. Определение обращения с мобильного устройства 586
Контроллер MainController 588
Шаблоны 588
Родительские шаблоны 588
Шаблоны страниц 591
Тестирование «мобильной» редакции Web-сайта 592

Глава 39. Разграничение доступа и список пользователей

594
Маршруты 594
Миграция и модель 595
Служебные страницы 596
Регистрация нового пользователя 596
Вход на Web-сайт 598
Процедура сброса пароля 599
Отправка письма со сведениями о сбросе пароля 599
Собственно сброс пароля 599
Электронное письмо со сведениями для сброса пароля 600
Инструменты для работы со списком пользователей 603
Список пользователей 603
Правка пользователя 606
Удаление пользователя 608
Разграничение доступа 610
Панель навигации 611

Глава 40. Категории и подкатегории

613
Маршруты 613
Миграции и модели 614
Миграция и модель списка категорий 614
Миграция и модель списка подкатегорий 616
Инструменты для работы со списками категорий и подкатегорий 617
Список категорий 617
Вывод списка категорий 617
Автоматическое генерирование слагов 619
Правка списка категорий 620
Список подкатегорий 623
Вывод списка подкатегорий 623
Создание и правка подкатегорий 624
Разграничение доступа 624
Панель навигации 625
Вывод списков категорий и подкатегорий 626

Глава 41. Статьи. Поддержка BBCode

631
Маршруты 631
Миграции и модели 632
Миграция и модель списка статей 632
Модели списков подкатегорий и пользователей 634
Разграничение доступа 634
Вывод списка статей 635
Вывод списка статей, относящихся к выбранной подкатегории 635
Вывод списка последних пяти статей, относящихся к выбранной категории 641
Поиск статей 642
Вывод статьи 645
Форматирование текста статей. BBCode 645
Набор тегов BBCode, поддерживаемых нашим сайтом 645
Собственно форматирование текстов статей 646
Собственно вывод статьи 649
Инструменты для работы над статьями 652

Глава 42. Комментарии

657
Маршруты 657
Миграция и модель 657
Комментарии, относящиеся к выбранной статье 659
Страницы для работы с комментариями 663

Глава 43. Хранилище файлов

668
Маршруты 668
Миграция и модель 668
Миграция 669
Модель 670
Контроллер 671
Визуальная часть 674
Шаблон 675
Представление 676
Web-сценарий 678

Раздел 7. Нанесение последних штрихов и публикация Web-сайта

685

Глава 44. Программируемая графика HTML 5

687
Канва 687
Контекст рисования 687
Рисование прямоугольников 688
Задание цвета, уровня прозрачности и толщины линий 688
Рисование сложных фигур 690
Как рисуются сложные контуры? 690
Перо. Перемещение пера 690
Прямые линии 691
Дуги 691
Кривые Безье 692
Прямоугольники 693
Задание стиля линий 693
Вывод текста 695
Использование сложных цветов 696
Линейный градиент 696
Радиальный градиент 698
Графический цвет 699
Вывод внешних изображений 700
Создание тени у рисуемой графики 701
Преобразования системы координат 701
Сохранение и загрузка состояния 702
Перемещение начала координат канвы 702
Поворот системы координат 703
Изменение масштаба системы координат 704
Управление наложением графики 705
Создание маски 706

Глава 45. Хранение данных на стороне клиента

707
Хранилище HTML 5 707
Временное хранение текста статей на стороне клиента 708

Глава 46. Публикация Web-сайта

711
Подготовка Web-сайта к публикации 711
Указание окончательных настроек 711
Удаление ненужных данных 712
Создание страниц с сообщениями об ошибках 714
Публикация сайта 715
   
Заключение 717
Приложения 719
   
Приложение 1. Установка и настройка пакета OpenServer 721
Установка 721
Запуск, перезапуск и остановка 722
Настройка 723
Запуск консоли OpenServer 724
   
Приложение 2. Работа с базами данных MySQL в программе phpMyAdmin 726
Запуск и вход 726
Работа с пользователями 727
Создание пользователя и базы данных 727
Правка и удаление пользователей 729
Работа с записями таблиц 730
Перенос содержимого из одной базы данных в другую 732
Экспорт данных 732
Импорт данных 733
Выход 733
   
Приложение 3. Перекодирование видеофайлов в формат MP4 734
   
Приложение 4. Файловый архив 738
   
Предметный указатель 739


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