Самоучитель PHP 7

Оглавление⌄
Предисловие....12 Объектно-ориентированный подход....12 PostgreSQL и Redis....12 Задания....13 Исходные коды....13 Благодарности....14 Глава 1. Что представляет собой РНР?....16 1.1. Достоинства и недостатки....16 1.2. Структура РНР....18 1.3. Сопутствующие технологии....18 Задание....19 Глава 2. Установка РНР....20 2.1. Установка в Windows....20 2.2. Установка в Mac OS X....22 2.3. Установка в Linux (Ubuntu)....23 2.4. Встроенный сервер....23 2.5. Файл hosts....24 2.6. Вещание вовне....25 2.7. Настройка РНР....25 2.8. Расширения....27 2.9. Документация....28 Задания....28 Глава 3. Быстрый старт....30 3.1. Скрипты....30 3.2. Начальные и конечные теги....32 3.3. Использование точки с запятой....33 3.4. Составные выражения. Фигурные скобки....34 3.5. Комментарии....35 3.6. Включение РНР-файла....37 Задания....38 Глава 4. Переменные и типы данных....40 4.1. Объявление переменной. Оператор =....40 4.2. Типы данных....41 4.3. Целые числа....42 4.4. Вещественные числа....43 4.5. Логический тип....44 4.6. Строки....45 4.7. Кавычки....45 4.8. Оператор <<<....48 4.9. Обращение к неинициализированной переменной. Замечания (Notice)....49 4.10. Специальный тип null....49 4.11. Уничтожение переменной. Конструкция unsetQ....50 4.12. Проверка существования переменной. Конструкции issetQ и emptyQ....51 4.13. Определение типа переменной....53 4.14. Неявное приведение типов....55 4.15. Явное приведение типов....56 4.16. Динамические переменные....59 Задания....60 Глава 5. Классы и объекты....62 5.1. Собственные типы данных....62 5.2. Создание класса....63 5.3. Разделение классов и остального кода....64 5.4. Создание объекта....66 5.5. Область видимости переменных класса....67 5.6. Спецификаторы доступа....68 5.7. Статические переменные класса....69 5.8. Ссылки на переменные....70 5.9. Клонирование объектов....71 Задания....72 Глава 6. Константы....74 6.1. Объявление константы. Функция defineQ....74 6.2. Проверка существования константы....76 6.3. Динамическое имя константы....77 6.4. Предопределенные константы....78 6.5. Абсолютный и относительный пути к файлу....79 6.6. Константа класса....80 Задания....81 Глава 7. Операторы....82 7.1. Объединение строк. Оператор "точка"....82 7.2. Конструкция echo. Оператор "запятая"....83 7.3. Арифметические операторы....84 7.4. Поразрядные операторы....88 7.5. Операторы сравнения....93 7.6. Приоритет выполнения операторов....96 Задания....97 Глава 8. Условия....98 8.1. Условный оператор if....98 8.2. Логические операторы....100 8.3. Условный оператор* ?у : z....105 8.4. Оператор ??....106 8.5. Переключатель switch....106 8.6. Оператор goto....110 Задания....111 Глава 9. Циклы....112 9.1. Цикл while....112 9.2. Цикл do while....117 9.3. Цикл for....118 Задания....122 Глава 10. Массивы....124 10.1. Создание массива....124 10.2. Ассоциативные и индексные массивы....128 10.3. Многомерные массивы....129 10.4. Интерполяция элементов массива в строки....131 10.5. Конструкция listQ....132 10.6. Обход массива....133 10.7. Цикл foreach....133 10.8. Слияние массивов....135 10.9. Сравнение массивов....137 10.10. Проверка существования элементов массива....139 10.11. Удаление элементов массива....142 Задания....143 Глава 11. Функции....144 11.1. Объявление и вызов функции....144 11.2. Параметры и аргументы функции....147 11.3. Типы параметров и возвращаемого значения....148 11.4. Передача параметров по значению и ссылке....148 11.5. Необязательные параметры....149 11.6. Переменное количество параметров....150 11.7. Глобальные переменные....151 11.8. Статические переменные....152 11.9. Возврат массива функцией....153 11.10. Рекурсивные функции....153 11.11. Вложенные функции....155 11.12. Динамическое имя функции....155 11.13. Анонимные функции....156 11.14. Замыкания....158 Задания....159 Глава 12. Строковые функции....160 12.1. Строки как массивы....160 12.2. UTF-8. Расширение mbstring....161 12.3. Функции для работы с символами....163 12.4. Поиск в строке....164 12.5. Замена в тексте....165 12.6. Работа с HTML-кодом....167 12.7. Форматный вывод....171 12.8. Объединение и разбиение строк....174 12.9. Сериализация объектов и массивов....176 12.10. JSON-формат....176 Задания....180 Глава 13. Взаимодействие РНР с HTML....182 13.1. Передача параметров методом GET....182 13.2. HTML-форма и ее обработчик....185 13.3. Текстовое поле....189 13.4. Поле для приема пароля....190 13.5. Текстовая область....191 13.6. Скрытое поле....192 13.7. Флажок....194 13.8. Список....196 13.9. Переключатель....198 13.10. Загрузка файла на сервер....199 13.11. Переадресация....202 Задания....205 Глава 14. Суперглобальные массивы....206 14.1. Типы суперглобальных массивов....206 14.2. Cookie....207 14.3. Сессии....209 14.4. Переменные окружения....211 14.5. Массив $_SERVER....213 14.5.1. Элемент $_SERVER['DOCUMENT_ROOT]....213 14.5.2. Элемент $_SERVER[,HTTP_ACCEPT]....213 14.5.3. Элемент $_SERVER[fHTTP_ACCEPT_LANGUAGE]....214 14.5.4. Элемент $_SERVER[fHTTP_HOST]....215 14.5.5. Элемент $ SERVER?HTTP_REFERER]....215 14.5.6. Элемент $_SERVER['HTTP USER AGENT]....215 14.5.7. Элемент $_SERVER['REMOTE_ADDR']....215 14.5.8. Элемент $_SERVER['SCR1PT FILENAME’]....216 14.5.9. Элемент $_SERVER['SERVER NAME]....216 14.5.10. Элемент $_SERVER['REQUEST METHOD]....217 14.5.11. Элемент $_SERVER['QUERY STRING]....217 14.5.12. Элемент $_SERVER[PHP_SELF]....218 14.5.13. Элемент $_SERVERl'REQUEST URI]....218 Задания....218 Глава 15. Фильтрация и проверка данных....220 15.1. Фильтрация или проверка?....220 15.2. Фильтры проверки....222 15.3. Фильтры очистки....225 15.4. Пользовательская фильтрация данных....228 15.5. Фильтрация внешних данных....229 Задания....231 Глава 16. Методы....232 16.1. Определение метода....232 16.2. Обращение к переменным объекта....233 16.3. Статические методы....235 16.4. Ключевое слово self....235 Задания....236 Глава 17. Специальные методы....238 17.1. Конструктор_constructO....238 17.2. Параметры конструктора....240 17.3. Деструктор_destructQ....242 17.4. Методы-аксессоры_set0 и_getQ....243 17.5. Динамические методы....245 17.6. Интерполяция объекта....247 Задания....249 Глава 18. Наследование....250 18.1. Наследование....250 18.2. Спецификаторы доступа и наследование....251 18.3. Перегрузка методов....254 18.4. Позднее статическое связывание....256 18.5. Полиморфизм....258 18.6. Абстрактные классы....260 18.7. Абстрактные методы....261 18.8. /г/иа/-методы класса....262 18.9. Final-классы....263 18.10. Анонимные классы....263 18.11. Оператор instanceof....265 Задания....265 Глава 19. Интерфейсы....266 19.1. Ограничения наследования....266 19.2. Создание интерфейса....270 19.3. Наследование интерфейсов....272 19.4. Реализация нескольких интерфейсов....275 19.5. Реализует ли объект интерфейс?....277 Задание....278 Глава 20. Трейты....280 20.1. Создание трейта....280 20.2. Трейты и наследование....283 20.3. Разрешение конфликтов....286 20.4. Вложенные трейты....288 Задание....289 Глава 21. Исключения....290 21.1. Синтаксис исключений....291 21.2. Интерфейс класса Exception....292 21.3. Генерация исключений в классах....294 21.4. Создание собственных исключений....297 21.5. Перехват исключений производных классов....300 21.6. Повторная генерация исключений....301 21.7. Блок finally....303 Задание....304 Глава 22. Ошибки....306 22.1. Ошибки и исключения....306 22.2. Типы уведомлений....308 22.3. Пользовательские ошибки....310 22.4. Подавление ошибок....311 Задания....312 Глава 23. Пространство имен....314 23.1. Создание пространства имен....314 23.2. Иерархия пространств имен....319 23.3. Глобальное пространство имен....320 23.4. Текущее пространство имен....320 23.5. Импортирование....321 Задания....322 Глава 24. Автозагрузка....324 24.1. Функция__autoloadQ....324 24.2. Функция spl autoload registerQ....327 Задание....328 Глава 25. Шаблоны проектирования....330 25.1. Зачем нужны шаблоны проектирования?....331 25.2. Одиночка (Singleton)....332 25.3. Фабричный метод (Factory Method)....333 25.4. Модель-Представление-Контроллер....339 Задания....350 Глава 26. Компоненты....352 26.1. Composer: управление компонентами....352 26.2. Установка Composer....353 26.2.1. Установка в Windows....353 26.2.2. Установка в Mac OS X....355 26.2.3. Установка в Ubimtu....355 26.3. Где искать компоненты?....355 26.4. Установка компонента....356 26.5. Использование компонента....358 Задания....359 Глава 27. База данных PostgreSQL....360 27.1. Почему PostgreSQL?....361 27.2. Установка PostgreSQL....362 27.2.1. Установка в Windows....362 27.2.2. Установка в Mac OS X....364 27.2.3. Установка в Ubuntu....364 27.3. Введение в СУБД и SQL....365 27.4. Первичные ключи....367 27.5. Управление базами данных....369 27.6. Управление таблицами ;....371 27.7. Вставка записей в таблицу....372 27.8. Удаление записей....373 27.9. Обновление записей....374 27.10. Выборка записей....375 Задания....376 Глава 28. РНР-расширение PDO....378 28.1. Настройка расширения PDO....378 28.2. Установка соединения с базой данных....379 28.3. Выполнение SQL-запросов....380 28.4. Обработка ошибок....381 28.5. Извлечение данных....383 28.6. Параметризация SQL-запросов....385 Задания....386 Глава 29. NoSQL база данных Redis....388 29.1. Почему Redis?....389 29.2. Установка сервера....390 29.2.1. Установка в среде Ubuntu....390 29.2.2. Установка в среде Mac OS X....390 29.2.3. Установка в Windows....391 29.2.4. Проверка работоспособности....391 29.3. Клиент redis-cli....392 29.4. Вставка и получение значений....393 29.5. Обновление и удаление значений....394 29.6. Управление ключами....396 29.7. Время жизни ключа....396 29.8. Типы данных....397 29.9. Хэш....398 29.10. Множество....399 29.11. Отсортированное множество....401 29.12. Базы данных....403 29.13. Производительность Redis....403 Задания....404 Глава 30. РНР-расширение Redis....406 30.1. Установка расширения php-redis....406 30.2. Хранение сессий в Redis....407 30.3. Методы для обслуживания данных в Redis....408 30.4. Кэширование данных....410 Задания....415 Глава 31. Итераторы....416 31.1. Интерфейсы для создания итераторов....416 31.2. Интерфейс Array Access....420 31.3. Класс ArrayObject....423 31.4. Класс Directorylterator....424 31.5. Класс Filter Iterator....425 31.6. Класс Limitlterator....426 31.7. Рекурсивные итераторы....427 Задания....427 Глава 32. Генераторы и итераторы....428 32.1. Отложенные вычисления....428 32.2. Манипуляция массивами....431 32.3. Экономия ресурсов....433 32.4. Использование ключей....434 32.5. Связь генераторов с объектами....436 Задания....437 Заключение....438 Предметный указатель....440
Описание
Коротко и по делу о том, что важно знать про языка.
Рассмотрены все нововведения языка и связанные с ними изменения в разработке современных Web-сайтов. Книга опытных разработчиков описывает последнюю версию языка разработки серверных сценариев PHP 7. Изложение ведется с упором на объектно-ориентированное программирование, шаблоны проектирования, итераторы, генераторы, а также взаимодействие с современными базами данных (PostgreSQL и Redis). Электронный архив с исходными кодами доступен на сайтах издательства и GitHub…. В конце глав приведены более 100 заданий для закрепления материала и освоения не вошедших в книгу разделов языка.
На этом основные моменты по теме закрыты.
Поделиться
Частые вопросы
Можно ли скачать «Самоучитель PHP 7» бесплатно?
Да, «Самоучитель PHP 7» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 12,0 МБ.
Кто автор и когда вышла книга?
автор — Кузнецов Максим Валерьевич , Симдянов Игорь Вячеславович, издательство БХВ-Петербург, год выпуска 2018, 450 страниц.
О чём книга «Самоучитель PHP 7»?
Книга опытных разработчиков описывает последнюю версию языка разработки серверных сценариев PHP 7.