КнигоПровод.Ru24.11.2024

/ИТ-книги/O'REILLY

PHP. Сборник рецептов — Скляр Д., Трахтенберг А.
PHP. Сборник рецептов
Решения и примеры для программистов на PHP
Скляр Д., Трахтенберг А.
год издания — 2005, кол-во страниц — 672, ISBN — 5-93286-059-6, 1-56592-681-1, тираж — 2000, язык — русский, тип обложки — мягк., масса книги — 630 гр., издательство — Символ-Плюс
цена: 699.00 рубПоложить эту книгу в корзину
PHP Cookbook
David Sklar and Adam Trachtenberg

O'REILLY 2002

Пер. с англ. А. Петухова

Уровень подготовки читателей: cpeдний

Формат 70x100 1/16. Печать офсетная
ключевые слова — php, pear, интернет-служб, xml, веб-, веб-сайт, веб-сервер, apache, soap, rss, sax, unix, linux, freebsd, http, ssl, pgp

«PHP. Сборник рецептов» Дэвида Скляра и Адама Трахтенберга содержит практические примеры и решения разнообразных задач, ежедневно возникающих перед программистами. Каждая задача снабжена проработанным решением — «рецептом», содержащим небольшой фрагмент кода, который можно вставлять прямо в приложение. Представлено более 250 рецептов — от самых простых, таких как посылка запроса в базу данных и получение доступа к URL, до полноценных программ, демонстрирующих более трудные задачи, например вывод HTML-таблиц и создание диаграмм. Рассмотрена работа со строками, числами, датами и временем, а также с массивами, файлами и каталогами. Обсуждаются переменные, функции, классы и объекты, регулярные выражения, шифрование и безопасность, интернет-службы, графика, интернационализация и локализация, PEAR, PHP в командной строке и PHP-GTK, формы, XML и доступ к базам данных.

Книга будет полезна всем, кто программирует на PHP, независимо от уровня их подготовки — от новичков до опытных профессионалов.


PHP — это простой, но мощный язык с открытым исходным кодом, предназначенный для написания сценариев и занимающий видное место в веб-разработке. На более чем миллионе веб-сайтов, от больших корпоративных до маленьких персональных, PHP применяется для поддержки динамического веб-содержания. Широкий набор возможностей PHP, удобный синтаксис и поддержка различных операционных систем и веб-серверов делают его идеальным языком для быстрой веб-разработки. «PHP. Сборник рецептов» представляет собой набор задач, решений и практических примеров для тех, кто программирует на PHP.

Книга содержит уникальную обширную коллекцию наилучших приёмов решения повседневных задач программирования на PHP. Для каждой задачи, приведённой в книге, даётся решение или «рецепт» — короткий, концентрированный фрагмент кода, который вы сможете вставить непосредственно в своё приложение. Но это ещё не всё. Авторы объясняют, как и почему работает программа, поэтому можно научиться адаптировать приёмы решения к схожим задачам.

В книгу включено более 250 рецептов по следующим темам:

• Работа с базовыми типами данных: строками, числами, датами и временем и массивами
• Строительные блоки PHP, такие как переменные, функции, классы и объекты
• Веб-программирование, включая формы, доступ к базам данных и XML
• Полезные возможности, такие как регулярные выражения, шифрование и безопасность, графика, интернационализация и локализация, а также интернет-службы
• Работа с файлами и каталогами
• PHP в командной строке и PHP-GTK
• PEAR — расширение PHP и хранилище приложений

Эта книга содержит впечатляющую коллекцию полезных программ для PHP-программистов — от новичков до опытных профессионалов. «PHP. Сборник рецептов», содержащий решения распространённых задач, заменит собой списки почтовых рассылок, онлайновую документацию и другие источники и позволит программисту сосредоточиться на более сложных проблемах, характерных для его собственного приложения.

ОГЛАВЛЕНИЕ

Предисловие15
 
1. Строки23
 
1.0. Введение23
1.1. Доступ к подстрокам26
1.2. Замещение подстрок27
1.3. Посимвольная обработка строк28
1.4. Пословный или посимвольный переворот строки30
1.5. Расширение и сжатие табуляций30
1.6. Управление регистром32
1.7. Включение функций и выражений в строки34
1.8. Удаление пробельных символов из строки35
1.9. Анализ данных, разделённых запятой36
1.10. Анализ данных, состоящих из полей фиксированной
ширины37
1.11. Разбиение строк40
1.12. Упаковка текста в строки определённой длины42
1.13. Хранение двоичных данных в строках44
 
2. Числа47
 
2.0. Введение47
2.1. Проверка правильности записи числа в строке48
2.2. Сравнение чисел с плавающей точкой49
2.3. Округление чисел с плавающей точкой50
2.4. Работа с последовательностью целых чисел51
2.5. Генерация случайных чисел в пределах диапазона52
2.6. Генерация случайных чисел со смещением54
2.7. Взятие логарифмов55
2.8. Вычисление степеней56
2.9. Форматирование чисел57
2.10. Правильная печать слов во множественном числе57
2.11. Вычисление тригонометрических функций59
2.12. Тригонометрические вычисления не в радианах,
а в градусах60
2.13. Работа с очень большими и очень маленькими числами61
2.14. Преобразование из одной системы счисления в другую62
2.15. Вычисления с недесятичными числами63
 
3. Дата и время65
 
3.0. Введение65
3.1. Определение текущей даты и времени67
3.2. Преобразование времени и частей времени
в метку времени UNIX70
3.3. Преобразование метки времени в части времени и даты71
3.4. Вывод на печать даты и времени в определённом формате72
3.5. Определение разности между двумя датами77
3.6. Определение разности между датами юлианского календаря79
3.7. Определение дня недели, месяца, года или номера недели
в году81
3.8. Проверка корректности даты82
3.9. Выделение дат и времен из строк84
3.10. Сложение и вычитание дат87
3.11. Учёт часовых поясов при определении времени88
3.12. Учёт перехода на летнее время93
3.13. Выработка высокоточного времени94
3.14. Получение интервалов времени95
3.15. Работа с негригорианскими календарями96
3.16. Программа: Календарь98
 
4. Массивы101
 
4.0. Введение101
4.1. Определение массива с ненулевым начальным индексом104
4.2. Хранение множества элементов массива с одним ключом105
4.3. Инициализация массива диапазоном целых чисел106
4.4. Перебор элементов массива107
4.5. Удаление элементов из массива110
4.6. Изменение длины массива112
4.7. Добавление одного массива к другому114
4.8. Преобразование массива в строку116
4.9. Печать массивов с запятыми118
4.10. Проверка наличия ключа в массиве119
4.11. Проверка наличия элемента в массиве119
4.12. Определение позиции элемента в массиве121
4.13. Нахождение элементов, удовлетворяющих
определённому критерию122
4.14. Нахождение элемента массива с наибольшим
или наименьшим значением123
4.15. Обращение массива124
4.16. Сортировка массива125
4.17. Сортировка массива по вычисляемому полю126
4.18. Сортировка множества массивов129
4.19. Сортировка массива с использованием метода
вместо функции130
4.20. Рандомизация массива131
4.21. Тасование колоды карт132
4.22. Удаление двойных элементов из массива133
4.23. Определение объединения, пересечения или разности
двух массивов134
4.24. Определение всех комбинаций элементов массива136
4.25. Нахождение всех перестановок массива139
4.26. Программа: Печать массива в виде HTML-таблицы141
 
5. Переменные145
 
5.0. Введение145
5.1. Операторы == и =: как избежать путаницы146
5.2. Установка значения по умолчанию147
5.3. Обмен значениями без временных переменных148
5.4. Создание динамического имени переменной149
5.5. Статические переменные150
5.6. Совместное использование переменных процессами152
5.7. Сериализация данных сложных типов в виде строки154
5.8. Получение дампа содержимого переменных в виде строк156
 
6. Функции160
 
6.0. Введение160
6.1. Доступ к параметрам функций161
6.2. Установка значений по умолчанию для параметров функции162
6.3. Передача значений по ссылке164
6.4. Именованные параметры165
6.5. Создание функции, принимающей переменное
количество аргументов167
6.6. Возвращение значений по ссылке169
6.7. Возвращение более одного значения170
6.8. Пропуск определённых возвращаемых значений171
6.9. Возвращение информации об ошибке173
6.10. Вызов переменных функций174
6.11. Доступ к глобальной переменной внутри функции175
6.12. Создание динамических функций177
 
7. Классы и объекты178
 
7.1. Реализация объектов182
7.2. Определение конструкторов объектов183
7.3. Уничтожение объекта184
7.4. Клонирование объектов185
7.5. Присваивание ссылок на объекты185
7.6. Применение методов к объекту, возвращённому
другим методом186
7.7. Доступ к переопределённым методам187
7.8. Перегрузка свойств189
7.9. Полиморфизм методов190
7.10. Обнаружение методов и свойств объекта192
7.11. Добавление свойств в базовый объект194
7.12. Динамическое создание класса195
7.13. Динамическая реализация объекта196
 
8. Основы Web198
 
8.0. Введение198
8.1. Установка cookies200
8.2. Чтение значений cookie201
8.3. Удаление cookies202
8.4. Перенаправление по другому адресу203
8.5. Отслеживание сеанса работы с сайтом204
8.6. Хранение сеансов в базе данных205
8.7. Идентификация различных броузеров209
8.8. Формирование строки запроса GET211
8.9. Применение базовой аутентификации HTTP213
8.10. Аутентификация, основанная на cookies216
8.11. Передача выходной информации в броузер218
8.12. Буферизация вывода в броузер219
8.13. Сжатие веб-вывода с помощью gzip220
8.14. Сокрытие от пользователей сообщений об ошибках221
8.15. Настройка обработки ошибок222
8.16. Применение пользовательского обработчика ошибок225
8.17. Регистрация ошибок226
8.18. Устранение ошибок «headers already sent»
(заголовки уже посланы)227
8.19. Регистрация отладочной информации229
8.20. Чтение переменных окружения231
8.21. Установка переменных окружения232
8.22. Чтение конфигурационных переменных233
8.23. Установка конфигурационных переменных235
8.24. Взаимодействие в рамках Apache235
8.25. Профилирование программы237
8.26. Программа: (Де)активатор учётной записи на веб-сайте240
8.27. Программа: Контролер злоумышленных пользователей242
 
9. Формы249
 
9.0. Введение249
9.1. Обработка информации, полученной из формы251
9.2. Проверка корректности введенных в форму данных253
9.3. Работа с многостраничными формами255
9.4. Повторный вывод форм с информацией и сообщениями
об ошибках258
9.5. Защита от многократной отправки одной и той же формы261
9.6. Обработка загруженных файлов263
9.7. Организация безопасности обработки форм в PHP265
9.8. Пользовательские данные и escape-последовательности267
9.9. Обработка внешних переменных с точками в именах268
9.10. Использование элементов формы с несколькими
вариантами значений270
9.11. Создание выпадающих меню на основе текущей даты271
 
10. Доступ к базам данных273
 
10.0. Введение273
10.1. Работа с базами данных, состоящих из текстовых файлов279
10.2. Работа с базами данных DBM280
10.3. Соединение с базой данных SQL284
10.4. Выполнение запросов к базе данных SQL286
10.5. Извлечение строк без цикла288
10.6. Модификация данных в базе данных SQL291
10.7. Эффективное повторение запросов292
10.8. Определение количества строк, возвращенных запросом294
10.9. Преобразование кавычек в escape-последовательности295
10.10. Регистрация отладочной информации и ошибок297
10.11. Автоматическое присваивание уникальных значений идентификаторов300
10.12. Программное создание запросов301
10.13. Постраничный вывод большого количества записей305
10.14. Кэширование запросов и результатов310
10.15. Программа: Хранение сообщений форума, разбитых
на темы312
 
11. Автоматизация работы с Web320
 
11.0. Введение320
11.1. Получение содержимого URL методом GET322
11.2. Извлечение содержимого URL с помощью метода POST324
11.3. Получение содержимого URL, если требуется
отправить cookies326
11.4. Получение содержимого URL, требующее отправки
заголовков328
11.5. Получение содержимого HTTPS URL329
11.6. Отладка обмена заголовками HTTP330
11.7. Выделение информации на веб-странице333
11.8. Извлечение ссылок из HTML-файла334
11.9. Преобразование ASCII в HTML336
11.10. Преобразование HTML в ASCII337
11.11. Удаление тегов HTML и PHP338
11.12. Использование шаблонов системы Smarty339
11.13. Анализ файла протокола веб-сервера341
11.14. Программа: обнаружение устаревших сылок343
11.15. Программа: Обнаружение свежих ссылок345
 
12. XML349
 
12.0. Введение349
12.1. Генерация XML вручную352
12.2. Генерация XML с применением D0M354
12.3. Анализ XML с помощью DOM357
12.4. Анализ XML с помощью SAX360
12.5. Преобразование XML с помощью XSLT366
12.6. Посылка запросов XML-RPC369
12.7. Прием запросов XML-RPC372
12.8. Посылка SOAP-запросов376
12.9. Приём SOAP-запросов379
12.10. Обмен данными с помощью WDDX382
12.11. Чтение RSS-рассылок384
 
13. Регулярные выражения387
 
13.0. Введение387
13.1. Переход от ereg к preg391
13.2. Поиск слов393
13.3. Нахождение n-го совпадения394
13.4. Выбор между поглощающим и непоглощающим сравнением395
13.5. Проверка правильности адресов электронной почты398
13.6. Поиск в файле всех строк, соответствующих шаблону401
13.7. Сборка текста, заключ ённого в теги HTML402
13.8. Экранирование специальных символов внутри
регулярного выражения404
13.9. Чтение записей с шаблоном-разделителем405
 
14. Шифрование и безопасность407
 
14.0. Введение407
14.1. Не храните пароли на своём сайте409
14.2. Сокрытие данных при помощи кодирования410
14.3. Проверка данных с помощью хеширования410
14.4. Хранение паролей412
14.5. Проверка надёжности пароля414
14.6. Работа с потерянными паролями416
14.7. Шифрование и дешифрование данных417
14.8. Хранение зашифрованных данных в файле или базе данных423
14.9. Совместное использование зашифрованных данных
с другим веб-сайтом426
14.10. Обнаружение SSL-соединения428
14.11. Шифрование сообщений электронной почты
с помощью GPG429
 
15. Графика432
 
15.0. Введение432
15.1. Рисование линий, прямоугольников и многоугольников436
15.2. Рисование дуг, эллипсов и окружностей438
15.3. Рисование узорными линиями440
15.4. Рисование текста441
15.5. Рисование центрированного текста444
15.6. Построение динамических изображений449
15.7. Создание и установка прозрачного цвета451
15.8. Безопасная работа с изображениями452
15.9. Программа: создание гистограмм результатов голосования454
 
16. Интернационализация и локализация458
 
16.0. Введение458
16.1. Перечень допустимых локалей460
16.2. Использование определённой локали460
16.3. Установка локали по умолчанию461
16.4. Локализация текстовых сообщений462
16.5. Локализация дат и времени466
16.6. Локализация денежных значений467
16.7. Локализация изображений470
16.8. Локализация включаемых файлов471
16.9. Управление ресурсами локализации472
16.10. Расширение gettext474
16.11. Чтение и запись символов Unicode475
 
17. Интернет-службы477
 
17.0. Введение477
17.1. Отправка почты478
17.2. Отправка почты в кодировке MIME481
17.3. Чтение почты с помощью IMAP или РОРЗ483
17.4. Отправка сообщений в новостные группы Usenet486
17.5. Чтение новостей из Usenet489
17.6. Получение и размещение файлов с помощью FTP494
17.7. Поиск адресов с помощью LDAP497
17.8. Применение LDAP для аутентификации пользователей499
17.9. Поиск в DNS502
17.10. Проверка функционирования хоста503
17.11. Получение информации о доменном имени505
 
18. Файлы507
 
18.0. Введение507
18.1. Создание или открытие локального файла511
18.2. Создание временного файла513
18.3. Открытие удалённого файла514
18.4. Чтение из стандартного потока ввода515
18.5. Чтение файла в строку515
18.6. Подсчёт строк, абзацев или записей в файле517
18.7. Обработка каждого слова в файле519
18.8. Чтение определённой строки в файле521
18.9. Обработка файла по строкам или абзацам
в обратном направлении522
18.10. Выбор случайной строки из файла522
18.11. Рандомизация всех строк в файле523
18.12. Обработка текстовых полей переменной длины524
18.13. Чтение файлов конфигурации525
18.14. Чтение или запись в определённое место в файле528
18.15. Удаление из файла последней строки529
18.16. Непосредственная модификация файла
без временной копии531
18.17. Сброс вывода в файл532
18.18. Запись в стандартный поток вывода533
18.19. Запись в несколько файловых дескрипторов одновременно534
18.20. Преобразование метасимволов среды
в escape-последовательности535
18.21. Передача входной информации в программу537
18.22. Чтение из стандартного потока вывода программы537
18.23. Чтение из стандартного потока ошибок программы539
18.24. Блокировка файла540
18.25. Чтение и запись сжатых файлов543
18.26. Программа: Unzip545
 
19. Каталоги547
 
19.0. Введение547
19.1. Получение и установка меток даты/времени файла550
19.2. Получение информации о файле551
19.3. Изменение прав доступа к файлу или его владельца553
19.4. Разделение имени файла на составляющие554
19.5. Удаление файла556
19.6. Копирование и перемещение файла556
19.7. Обработка всех файлов в каталоге557
19.8. Получение списка имён файлов, соответствующих
шаблону558
19.9. Обработка всех файлов в каталоге559
19.10. Создание новых каталогов561
19.11. Удаление каталога и его содержимого563
19.12. Программа: Перечень каталогов веб-сервера564
19.13. Программа: Поиск сайта568
 
20. PHP на стороне клиента572
 
20.0. Введение572
20.1. Анализ аргументов программы577
20.2. Анализ аргументов программы с помощью getopt578
20.3. Чтение ввода с клавиатуры582
20.4. Чтение паролей583
20.5. Показ в окне графических элементов управления586
20.6. Показ в окне нескольких графических элементов
управления587
20.7. Реакция на действия пользователя590
20.8. Показ меню592
20.9. Программа: Командная оболочка595
20.10. Программа: Служба погоды598
 
21. PEAR607
 
21.0. Введение607
21.1. Работа с менеджером пакетов PEAR610
21.2. Нахождение пакетов PEAR612
21.3. Поиск информации о пакете613
21.4. Установка пакетов PEAR615
21.5. Установка пакетов PECL616
21.6. Обновление пакетов PEAR618
21.7. Удаление пакетов PEAR619
21.8. Документирование классов с помощью PHPDoc620
 
Алфавитный указатель623

Книги на ту же тему

  1. PHP 5. — 2-е изд., перераб. и доп., Котеров Д. В., Костарев А. Ф., 2010
  2. Головоломки на PHP для хакера, Кузнецов М. В., Симдянов И. В., 2006
  3. Создаём динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. — 4-е изд., Никсон Р., 2017
  4. UNIX. Профессиональное программирование. — 2-е изд., Стивенс Р., Раго С., 2007

© 1913—2013 КнигоПровод.Ruhttp://knigoprovod.ru