PHP. Рецепты программирования: [решения и примеры для PHP-программистов]
Book information
Description
Оглавление Об авторах Предисловие Для кого эта книга Что вы найдете в этой книге Web-сайты Соглашения, принятые в этой книге Благодарности Глава 1. Строки 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. Анализ записей данных фиксированной длины 1.15. Разбиение строк на подстроки 1.16. Перенос текста в строке заданной длины 1.17. Хранение двоичных данных в строках 1.18. Пример программы: загружаемый CSV-файл Глава 2. Числа 2.1. Обзор 2.2. Проверка, содержит ли переменная допустимое число 2.3. Сравнение чисел с плавающей точкой 2.4. Округление чисел с плавающей точкой 2.5. Работа с последовательностями целых чисел 2.6. Генерация случайных чисел в пределах заданного диапазона 2.7. Генерация смещенных случайных чисел 2.8. Вычисление логарифмов 2.9. Вычисление степеней 2.10. Форматирование чисел 2.11. Форматирование значений денежных единиц 2.12. Единственное и множественное число 2.13. Вычисление тригонометрических функций в радианах 2.14. Вычисление тригонометрических функций в градусах 2.15. Обработка очень больших или очень маленьких чисел 2.16. Преобразования чисел с разными основаниями 2.17. Выполнение вычислений над недесятичными числами 2.18. Вычисление расстояния между двумя географическими точками Глава 3. Дата и время 3.1. Обзор 3.2. Обнаружение текущей даты и времени 3.3. Преобразование времени и даты к форме timestamp 3.4. Преобразование времени к покомпонентному представлению времени и даты 3.5. Вывод даты или времени в заданном формате 3.6. Временной интервал между двумя датами 3.7. Обнаружение разницы двух дат по Юлианскому календарю 3.8. Поиск дня недели, месяца или года 3.9. Проверка даты 3.10. Синтаксический разбор строк даты и времени 3.11. Сложение и вычитание дат 3.12. Вычисления времени при работе с часовыми поясами 3.13. Учет светлого времени дня 3.14. Генерация времени высокой точности 3.15. Создание диапазонов времени 3.16. Использование негригорианского календаря 3.17. Использование даты за пределами диапазона эпохи timestamp 3.18. Пример программы: Календарь Глава 4. Массивы 4.1. Обзор 4.2. Задание массива, не начинающегося элементом 0 4.3. Хранение в массиве нескольких элементов под одним ключом 4.4. Инициализация массива для диапазона целых чисел 4.5. Выполнение итераций по элементам массива 4.6. Удаление элементов из массива 4.7. Изменение размера массива 4.8. Добавление одного массива к другому 4.9. Преобразование массива в строку 4.10. Печать массива с запятыми 4.11. Проверка присутствия ключа в массиве 4.12. Проверка наличия элемента в массиве 4.13. Обнаружение позиции значения в массиве 4.14. Поиск элементов, удовлетворяющих заданному требованию 4.15. Поиск в массиве элемента с наибольшим или наименьшим значением 4.16. Изменение порядка следования элементов в массиве на обратный 4.17. Сортировка массива 4.18. Сортировка массива по вычисляемому полю 4.19. Сортировка нескольких массивов 4.20. Сортировка массива с применением метода вместо функции 4.21. Хеширование массива 4.22. Удаление дублирующего элемента из массива 4.23. Применение функции к каждому элементу массива 4.24. Объединение, пересечение, исключение двух массивов 4.25. Обработка объекта как массива 4.26. Программа: печать HTML-таблицы с горизонтальными колонками Глава 5. Переменные 5.1. Обзор 5.2. Возможные проблемы применения = = или = 5.3. Установка значения по умолчанию 5.4. Обмен значениями без использования временных переменных 5.5. Создание динамического имени переменной 5.6. Использование статических переменных 5.7. Совместное использование переменных процессами 5.8. Инкапсуляция сложных типов данных в строку 5.9. Формирование строки как части значения переменной Глава 6. Функции 6.1. Обзор 6.2. Доступ к параметрам функции 6.3. Установка значений параметров функции по умолчанию 6.4. Передача значений по ссылке 6.5. Использование именованных параметров 6.6. Функции с переменным числом аргументов 6.7. Возвращение значений по ссылке 6.8. Возвращение более одного значения 6.9. Пропуск выбранных возвращаемых значений 6.10. Неудачная попытка выполнения функции 6.11. Вызов функций в зависимости от переменной 6.12. Доступ к глобальной переменной внутри функции 6.13. Создание динамических функций Глава 7. Классы и объекты 7.1. Обзор 7.2. Создание экземпляров объектов 7.3. Определение конструкторов объекта 7.4. Определение деструкторов объекта 7.5. Выполнение контроля доступа 7.6. Предотвращение изменений для классов и методов 7.7. Преобразование объекта в строку 7.8. Определение интерфейсов 7.9. Создание абстрактных классов 7.10. Копирование объекта по ссылке 7.11. Клонирование объектов 7.12. Изменение доступа к свойству в процессе исполнения 7.13. Вызов методов по объекту, возвращенному другим методом 7.14. Объединение объектов 7.15. Доступ к переопределенным методам 7.16. Использование полиморфизма 7.17. Определение констант класса 7.18. Определение статических свойств и методов 7.19. Управление сериализацией объекта 7.20. Исследование объектов 7.21. Проверка, является ли объект экземпляром конкретного класса 7.22. Автозагрузка файлов класса при объявлении объекта 7.23. Динамическое объявление объекта 7.24. Пример программы: whereis Глава 8. Основные Web-понятия 8.1. Обзор 8.2. Установка сookies 8.3. Чтение значений cookies 8.4. Удаление сookies 8.5. Переадресация к другому местоположению 8.6. Определение браузера 8.7. Формирование строки запроса 8.8. Чтение тела запроса POST 8.9. Создание HTML-таблиц с чередующимися стилями строк 8.10. Механизмы авторизации пользователя — базовая аутентификация HTTP и вставочная аутентификация 8.11. Использование cookies-аутентификации 8.12. Сбрасывание накопленного вывода браузеру 8.13. Буферизация вывода браузером 8.14. Сжатие результата вывода для Web 8.15. Чтение переменных среды 8.16. Установка переменных среды 8.17. Работа в качестве модуля сервера Apache 8.18. Пример программы: активатор/деактиватор учетной записи Web-сайта 8.19. Пример программы: Tiny Wiki Глава 9. Форма 9.1. Обзор 9.2. Обработка формы ввода 9.3. Проверка корректности ввода в форме: обязательное к заполнению поле 9.4. Проверка корректности ввода в форме: числа 9.5. Проверка корректности ввода в форме: адреса электронной почты 9.6. Проверка корректности ввода в форме: выпадающее меню 9.7. Проверка корректности ввода в форме: переключатели 9.8. Проверка корректности ввода в форме: флажки 9.9. Проверка корректности ввода в форме: даты и времена 9.10. Проверка корректности ввода в форме: кредитные карточки 9.11. Защита сценария 9.12. Работа с многостраничными формами 9.13. Повторный показ форм со вставленными сообщениями об ошибках 9.14. Принятие мер против многократного представления данных одной и той же формы 9.15. Обработка выгруженных файлов 9.16. Предотвращение внешнего изменения значений глобальной переменной 9.17. Обработка удаленных переменных с точкой в их именах 9.18. Использование элементов формы с несколькими опциями 9.19. Создание выпадающих меню, основанных на текущей дате Глава 10. Работа с базами данных 10.1. Обзор 10.2. Применение баз данных DBM 10.3. Применение базы данных SQLite 10.4. Соединение с базой данных SQL 10.5. Запрос к базе данных SQL 10.6. Получение строк без цикла 10.7. Модификация данных в базе данных SQL 10.8. Эффективное повторение запросов 10.9. Определение количества строк, возвращенных запросом 10.10. Экранирование кавычек 10.11. Ведение журнала ошибок и отладочной информации 10.12. Создание уникальных идентификаторов 10.13. Программное формирование запросов 10.14. Постраничные ссылки на последовательность записей 10.15. Кэширование запросов и результатов 10.16. Обращение к соединению с базой данных из любого места программы 10.17. Пример программы: хранение форума Глава 11. Сеансы и постоянство данных 11.1. Обзор 11.2. Отслеживание сеанса 11.3. Защита от похищения сеанса 11.4. Защита от фиксирования идентификатора сеанса 11.5. Хранение сеансов в базе данных 11.6. Хранение сеансов в совместно используемой памяти 11.7. Хранение произвольных данных в совместно используемой памяти 11.8. Кэширование результатов в сводных таблицах Глава 12. XML 12.1. Обзор 12.2. Генерирование XML-документа в виде строки 12.3. Генерирование XML-документа с помощью DOM 12.4. Анализ простейших XML-документов 12.5. Анализ сложных XML-документов 12.6. Анализ больших XML-документов 12.7. Извлечение информации с помощью XPath 12.8. Преобразование XML с помощью XSLT 12.9. Установка параметров XSLT из PHP 12.10. Вызов PHP-функций из таблицы стилей XSLT 12.11. Проверка корректности XML-документов 12.12. Преобразование кодировки содержимого 12.13. Чтение лент новостей RSS и Atom 12.14. Создание RSS-лент новостей 12.15. Создание Atom-лент новостей Глава 13. Web-автоматизация 13.1. Обзор 13.2. Получение содержимого по URL-адресу с помощью метода GET 13.3. Получение содержимого по URL-адресу с помощью метода POST 13.4. Получение содержимого по URL-адресу с помощью cookies 13.5. Получение содержимого по URL-адресу с помощью произвольных заголовков 13.6. Получение содержимого по URL-адресу с применением произвольного метода 13.7. Получение содержимого по URL-адресу с использованием тайм-аута 13.8. Получение содержимого по URL-адресу через протокол HTTPS 13.9. Анализ необработанных данных при обмене по протоколу HTTP 13.10. Маркировка элементов Web-страницы 13.11. Коррекция ошибочного или нестандартного HTML-кода 13.12. Извлечение ссылок из HTML-файла 13.13. Преобразование простого текста в HTML-код 13.14. Преобразование HTML-кода в простой текст 13.15. Удаление тегов HTML и PHP из документа 13.16. Ответ на запрос Ajax 13.17. Интеграция с JavaScript 13.18. Пример программы: поиск устаревших ссылок 13.19. Пример программы: поиск обновленных ссылок Глава 14. Обращение к Web-службам 14.1. Обзор 14.2. Вызов метода REST 14.3. Вызов метода SOAP с использованием WSDL 14.4. Вызов метода SOAP без использования WSDL 14.5. Отладка SOAP-запросов 14.6. Применение сложных типов SOAP 14.7. Определение типов SOAP 14.8. Применение заголовков SOAP 14.9. Аутентификация и SOAP 14.10. Переопределение конечной точки 14.11. Обработка ошибок SOAP 14.12. Отображение типов XML Schema в PHP-классы 14.13. Вызов метода XML-RPC 14.14. Аутентификация и XML-RPC Глава 15. Создание Web-служб 15.1. Обзор 15.2. Обслуживание метода REST 15.3. Обслуживание метода SOAP 15.4. Прием аргументов SOAP-метода 15.5. Автоматическое генерирование WSDL-файла 15.6. Генерирование SOAP-ошибок 15.7. Обработка SOAP-заголовка 15.8. Генерирование SOAP-заголовка 15.9. Аутентификация в SOAP 15.10. Обслуживание метода XML-RPC Глава 16. Интернет-службы 16.1. Обзор 16.2. Отправка электронной почты 16.3. Отправка MIME-почты 16.4. Чтение почты с помощью протокола IMAP или POP3 16.5. Отправка сообщений в группы новостей Usenet 16.6. Чтение сообщений Usenet 16.7. Прием и отправка файлов по протоколу FTP 16.8. Просмотр адресов на сервере LDAP 16.9. Аутентификация пользователей с помощью LDAP-сервера 16.10. Просмотр DNS 16.11. Проверка хоста 16.12. Получение информации о доменном имени Глава 17. Графика 17.1. Обзор 17.2. Рисование линий, прямоугольников и многоугольников 17.3. Рисование дуг, эллипсов и окружностей 17.4. Другие стили линий 17.5. Вывод текста 17.6. Вывод отцентрированного текста 17.7. Построение динамических изображений 17.8. Установка и чтение прозрачного цвета 17.9. Чтение данных в формате EXIF 17.10. Безопасная отправка изображений 17.11. Пример программы: генерирование гистограмм по результатам опроса Глава 18. Безопасность и шифрование 18.1. Обзор 18.2. Предотвращение фиксирования идентификатора сеанса 18.3. Защита от подделки формы 18.4. Фильтрование входных данных 18.5. Защита от межсайтового скриптинга 18.6. Защита от SQL-инъекции 18.7. Хранение паролей вне каталогов сайта 18.8. Хранение паролей 18.9. Что делать при утере пароля 18.10. Проверка подлинности данных с помощью хешей 18.11. Шифрование и дешифрование данных 18.12. Хранение зашифрованной информации в файле или базе данных 18.13. Обмен зашифрованными данными с другим Web-сайтом 18.14. Распознавание SSL 18.15. Шифрование электронной почты с помощью GPG Глава 19. Интернационализация и локализация 19.1. Обзор 19.2. Получение списка доступных локалей 19.3. Использование конкретной локали 19.4. Установка локали по умолчанию 19.5. Локализация текстовых сообщений 19.6. Локализация даты и времени 19.7. Локализация обозначений валюты 19.8. Локализация изображений 19.9. Локализация подключаемых файлов 19.10. Управление локализационными ресурсами 19.11. Расширение gettext 19.12. Установка кодировки символов в выводимых данных 19.13. Установка кодировки символов для входных данных 19.14. Манипулирование текстом в кодировке UTF-8 Глава 20. Обработка ошибок, отладка и тестирование 20.1. Обзор 20.2. Поиск и направление синтаксических ошибок 20.3. Создание собственных классов исключений 20.4. Вывод содержимого стека 20.5. Чтение переменных конфигурации 20.6. Установка настроек конфигурации 20.7. Сокрытие сообщений об ошибках от пользователей 20.8. Настройка обработки ошибок 20.9. Использование собственного обработчика ошибок 20.10. Запись ошибок в журнал 20.11. Как избавиться от сообщений "headers already sent" 20.12. Запись отладочной информации в журнал 20.13. Работа с отладочным расширением 20.14. Создание автономного теста 20.15. Создание комплекта автономных тестов 20.16. Применение автономного теста к Web-странице 20.17. Настройка среди тестирования Глава 21. Повышение производительности и тестирование нагрузки 21.1. Обзор 21.2. Хронометраж выполнения функции 21.3. Хронометраж выполнения программы 21.4. Профилирование с помощью расширения Debugger 21.5. Тестирование сайта в условиях повышенной нагрузки 21.6. Как обойтись без регулярных выражений 21.7. Работа с акселератором Глава 22. Регулярные выражения 22.1. Введение 22.2. Переход с ereg на preg 22.3. Поиск соответствия словам 22.4. Поиск n-го вхождения слова 22.5. Выбор между "жадными" и "нежадными" шаблонами 22.6. Поиск в файле всех строчек, соответствующих шаблону 22.7. Выделение текста внутри HTML-тегов 22.8. Как исключить текст, соответствующий подшаблону 22.9. Экранирование специальных символов в регулярном выражении 22.10. Чтение записей с учетом разделителей 22.11. Использование PHP-функции в регулярном выражении Глава 23. Файлы 23.1. Обзор 23.2. Создание или открытие локального файла 23.3. Создание временного файла 23.4. Открытие удаленного файла 23.5. Чтение из стандартного потока ввода 23.6. Чтение файла в строку 23.7. Подсчет строчек, абзацев или записей в файле 23.8. Обработка каждого слова в файле 23.9. Чтение произвольной строчки файла 23.10. "Перетасовка" строчек в файле 23.11. Обработка текстовых полей переменной длины 23.12. Чтение файлов конфигурации 23.13. Редактирование файла без создания временного файла 23.14. Сброс содержимого буфера вывода 23.15. Запись в стандартный поток вывода 23.16. Запись с применением нескольких дескрипторов файлов 23.17. Экранирование метасимволов оболочки 23.18. Передача входных аргументов программе 23.19. Чтение вывода программы через стандартный поток 23.20. Чтение вывода программы в стандартный поток сообщений об ошибках 23.21. Блокировка файла 23.22. Чтение и запись файлов нестандартных типов 23.23. Чтение и запись сжатых файлов Глава 24. Каталоги 24.1. Обзор 24.2. Получение и постановка отметок времени 24.3. Получение информации о файле 24.4. Изменение прав доступа к файлу и смена владельца 24.5. Разбивка имени файла на составляющие элементы 24.6. Удаление файла 24.7. Копирование или перемещение файла 24.8. Обработка всех файлов в каталоге 24.9. Получение списка имен файлов по шаблону 24.10. Рекурсивная обработка всех элементов каталога 24.11. Создание новых каталогов 24.12. Удаление каталога и его содержимого 24.13. Пример программы: список файлов и каталогов Web-сервера 24.14. Пример программы: поиск по сайту Глава 25. Командная строка PHP 25.1. Обзор 25.2. Анализ аргументов программы 25.3. Анализ аргументов программы методом getopt() 25.4. Чтение ввода с клавиатуры 25.5. Выполнение PHP-кода для каждой строки входного файла 25.6. Чтение паролей 25.7. Пример программы: командная оболочка ГЛАВА 26. PEAR И PECL 26.1. Обзор 26.2. Установщик PEAR 26.3. Поиск пакетов PEAR 26.4. Поиск информации о пакете 26.5. Установка пакетов PEAR 26.6. Обновление версий PEAR-пакетов 26.7. Удаление PEAR-пакетов из системы 26.8. Установка PECL-пакетов Предметный указатель
Similar books
PHP Рецепты программирования
2015 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF
Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)
2023 · PDF
Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"
2022 · PDF
Философия. Учебно-методический комплекс дисциплины по направлениям подготовки: 51.03.03 (071800.62) «Социально-культурная деятельность», профили подготовки: «Социально-культурные технологии в индустрии досуга», «Менеджмент социально-культурной деятельности», «Менеджмент детско-юношеского досуга», «Постановка и продюсирование культурно-досуговых программ», «Социально-культурная анимация и рекреация»; 38.03.02 (080200.62) «Менеджмент», профили подготовки: «Управление человеческими ресурсами», «Управление малым бизнесом», квалификации (степень) выпускника – «бакалавр»
2014 · PDF