Рецепты PHP: Для профессиональных разработчиков

Рецепты PHP: Для профессиональных разработчиков

Рецепты PHP: Для профессиональных разработчиков
Автор: Манн Эрик А.
Дата выхода: 2025
Издательство: Спринт Бук
Количество страниц: 432
Тип файла: PDF
Добавил: codelibs

Внимание!!!! Книга удалена по требованию правообладателя!!!!

 Проверить на вирусы

Предисловие....14

Для кого эта книга....15

Структура издания....15

Условные обозначения....16

Благодарности....17

От издательства....17

Глава 1. Переменные....18

1.1. Определение констант....20

1.2. Создание переменных переменных....22

1.3. Обмен значениями между переменными....24

Глава 2. Операторы....27

Логические операторы....27

Побитовые операторы....28

Операторы сравнения....29

Приведение типов....30

2.1. Использование тернарного оператора вместо блока if-else....31

2.2. Объединение потенциально нулевых значений....33

2.3. Сравнение одинаковых значений....35

2.4. Использование оператора spaceship для сортировки значений....37

2.5. Подавление сообщений об ошибках с помощью оператора @....40

2.6. Сравнение битов внутри целых чисел....41

Глава 3. Функции....45

3.1. Доступ к параметрам функций....47

3.2. Установка значений параметров функции по умолчанию....49

3.3. Использование именованных параметров функций....51

3.4. Обеспечение типизации аргументов и возвращаемого значения функции....53

3.5. Определение функции с переменным числом аргументов....57

3.6. Возвращение нескольких значений....59

3.7. Доступ к глобальным переменным внутри функции....61

3.8. Управление состоянием внутри функции при многократных вызовах....65

3.9. Определение динамических функций....68

3.10. Передача функций в качестве параметров другим функциям....69

3.11. Стрелочные функции....72

3.12. Создание функции без возвращаемого значения....75

3.13. Создание функции, которая не возвращается....77

Глава 4. Строки....78

4.1. Доступ к подстрокам в более крупной строке....81

4.2. Извлечение одной строки из другой....83

4.3. Замена части строки....84

4.4. Обработка строки по одному байту за раз....87

4.5. Генерация случайных строк....90

4.6. Интерполяция переменных в строке....91

4.7. Конкатенация нескольких строк вместе....93

4.8. Управление двоичными данными, хранящимися в строках....95

Глава 5. Числа....99

5.1. Проверка числа в переменной....100

5.2. Сравнение чисел с плавающей точкой....102

5.3. Округление чисел с плавающей точкой....104

5.4. Генерация случайных чисел....106

5.5. Генерация предсказуемых случайных чисел....108

5.6. Генерация взвешенных случайных чисел....110

5.7. Вычисление логарифмов....113

5.8. Вычисление экспоненты....114

5.9. Форматирование чисел как строк....115

5.10. Работа с очень большими или очень маленькими числами....116

5.11. Конвертация чисел из одной системы счисления в другую....119

Глава 6. Дата и время....121

Объектно-ориентированный подход....121

Часовые пояса....121

Временные метки Unix....122

6.1. Поиск текущей даты и времени....122

6.2. Форматирование дат и времени....124

6.3. Преобразование дат и времени во временные метки Unix....128

6.4. Преобразование временных меток Unix в составные части даты и времени....130

6.5. Вычисление разницы между двумя датами....131

6.6. Разбор дат и времени из произвольных строк....133

6.7. Проверка даты....136

6.8. Добавление к дате или вычитание из нее....137

6.9. Расчет времени в разных часовых поясах....140

Глава 7. Массивы....143

Типы массивов....143

Синтаксис....144

7.1. Объединение нескольких элементов по ключу в массиве....145

7.2. Инициализация массива с диапазоном чисел....148

7.3. Итерация элементов в массиве....149

7.4. Удаление элементов из ассоциативных и числовых массивов....152

7.5. Изменение размера массива....155

7.6. Добавление одного массива к другому....158

7.7. Создание массива из фрагмента существующего массива....161

7.8. Преобразование между массивами и строками....164

7.9. Реверсирование массива....167

7.10. Сортировка массива....168

7.11. Сортировка массива на основе функции....171

7.12. Случайный порядок элементов в массиве....173

7.13. Применение функции к каждому элементу массива....174

7.14. Сокращение массива до одного значения....177

7.15. Итерация по бесконечным или очень большим/ресурсозатратным массивам....179

Глава 8. Классы и объекты....182

Процедурное программирование....183

Объектно-ориентированное программирование....184

Мультипарадигмальные языки....186

Видимость....187

8.1. Инстанцирование объектов из пользовательских классов....190

8.2. Конструирование объектов для определения значений по умолчанию....192

8.3. Определение свойств, доступных только для чтения, в классе....194

8.4. Деконструкция объектов для очистки после того, как объект больше не нужен....197

8.5. Использование магических методов для предоставления динамических свойств....199

8.6. Расширение классов для определения дополнительной функциональности....202

8.7. Принуждение классов к определенному поведению....204

8.8. Создание абстрактных базовых классов....208

8.9. Предотвращение изменений в классах и методах....211

8.10. Клонирование объектов....216

8.11. Определение статических свойств и методов....220

8.12. Интроспекция закрытых свойств или методов внутри объекта....223

8.13. Повторное использование произвольного кода между классами....225

Глава 9. Безопасность и шифрование....229

Унаследованное шифрование....230

Sodium....231

Случайности....236

9.1. Фильтрация, проверка и очистка пользовательского ввода....236

9.2. Защита конфиденциальных учетных данных от попадания в код приложения....242

9.3. Хеширование и валидация паролей....244

9.4. Шифрование и расшифровка данных....247

9.5. Хранение зашифрованных данных в файле....253

9.6. Криптографическая подпись сообщения для отправки другому приложению....258

9.7. Проверка криптографической подписи....260

Глава 10. Работа с файлами....262

Windows или Unix....262

10.1. Создание или открытие локального файла....263

10.2. Чтение файла в строку....265

10.3. Чтение определенного фрагмента файла....267

10.4. Изменение файла ....268

10.5. Одновременная запись в несколько файлов....269

10.6. Блокировка файла ....272

Глава 11. Потоки....274

Обертки и протоколы....275

Фильтры....276

11.1. Потоковая передача данных во временный файл или из него....278

11.2. Чтение из потока ввода PHP....280

11.3. Запись в поток вывода PHP....284

11.4. Чтение из одного потока и запись в другой....286

11.5. Компоновка различных обработчиков потока ....288

11.6. Создание пользовательской обертки потока....292

Глава 12. Обработка ошибок....295

12.1. Поиск и исправление ошибок синтаксиса....295

12.2. Создание и обработка пользовательских исключений....297

12.3. Скрытие сообщений об ошибках от конечных пользователей....300

12.4. Использование пользовательского обработчика ошибок....303

12.5. Регистрация ошибок во внешний поток....305

Глава 13. Отладка и тестирование....307

13.1. Использование расширения отладчика....309

13.2. Написание модульного теста....311

13.3. Автоматизация модульных тестов....316

13.4. Использование статического анализа кода....319

13.5. Запись отладочной информации....321

13.6. Выгрузка содержимого переменных в виде строк....326

13.7. Использование встроенного веб-сервера для быстрого запуска приложения....329

13.8. Использование модульных тестов для обнаружения регрессий в проекте, управляемом системой контроля версий с помощью git-bisect....331

Глава 14. Настройка производительности....336

JIT-компиляция....337

Кэширование опкодов....338

14.1. Измерение времени выполнения функций....339

14.2. Оценка производительности приложения....343

14.3. Ускорение работы приложения с помощью кэша опкодов....350

Глава 15. Пакеты и расширения....353

Стандартные модули....354

Библиотеки/Composer ....355

15.1. Определение проекта Composer....355

15.2. Поиск пакетов Composer....358

15.3. Установка и обновление пакетов Composer....360

15.4. Установка нативных расширений PHP....363

Глава 16. Базы данных....366

Реляционные базы данных....366

База данных «ключ— значение»....367

Графовые базы данных....368

Документоориентированные базы данных....369

16.1. Подключение к базе данных SQLite....369

16.2. Использование PDO для подключения к внешнему провайдеру баз данных....372

16.3. Очистка пользовательского ввода для запроса к базе данных....376

16.4. Имитация данных для интеграционного тестирования....379

16.5. Запрос к базе данных SQL с помощью Eloquent ORM....384

Глава 17. Асинхронный PH5P....388

Библиотеки и среды выполнения....389

Асинхронные операции....390

17.1. Получение данных из удаленных API асинхронно....394

17.2. Ожидание результатов нескольких асинхронных операций....396

17.3. Прерывание одной операции для выполнения другой....398

17.4. Выполнение кода в отдельном потоке....401

17.5. Пересылка сообщений между отдельными потоками....406

17.6. Использование файбера для управления содержимым потока....411

Глава 18. Командная строка PHP....415

18.1. Разбор аргументов программы....416

18.2. Чтение интерактивного пользовательского ввода....420

18.3. Подсветка текста в консоли....421

18.4. Создание консольного приложения с помощью Symfony Console....422

18.5. Использование встроенного в PHP цикла REPL....427

Об авторе....430

Иллюстрация на обложке....431

В этом сборнике рецептов разработчики на PHP найдут надежные и проверенные решения распространенных задач. PHP — удивительно простой язык программирования, что объясняет, почему на нем написано более 75 % веб-сайтов в Интернете. Но он также невероятно терпим к ошибкам программирования, что может привести к тиражированию сомнительного кода.Эрик Манн предлагает собственные рецепты использования современных версий PHP для задач, встречающихся в повседневной практике программиста. Вы познакомитесь с паттернами и примерами, которые пригодятся любому разработчику, и сможете быстро находить и решать сложные задачи, не изобретая велосипед.


Похожее:

Список отзывов:

Нет отзывов к книге.