1. Trang chủ
  2. » Thể loại khác

John wiley sons php для чайников

317 91 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

PHP АЛЯ "ЧАЙНИКОВ"Джанет Валейд ДИАЛЕКТИКА Москва • Санкт-Петербург • Киев 2005 ББК 32.973.26-018.2.75 В15 УДК 681.3.07 Компьютерное издательство "Диалектика" Зав редакцией С.Н Тригуб Перевод с английского и редакция канд техн наук А.Ю Шелестова По общим вопросам обращайтесь в издательство "Диалектика" по адресу: info@dialektika.com, http://www.dialektika.com 115419, Москва, а/я 783; 03150, Киев, а/я 152 Валейд, Джанет В15 РНР для "чайников".: Пер с англ — М.: Издательский дом "Вильяме", 2005 — 320 с.: ил — Парал тит англ ISBN 5-8459-0851-5 (рус.) Данная книга является введением в область Web-программирования на языке РНР С ее помощью можно быстро написать сценарий для Web, обеспечить взаимодействие с файлами и базами данных, а также решить другие задачи Материал книги также позв злит избежать многих распространенных ошибок Описание основных возможностей язы­ ка сопровождается примерами В книге можно также найти рекомендации по установке модуля РНР для Web и для раб > ты в командной строке, а также установке и настройке популярных Web-серверов Apache и Ш! Данная книга будет полезна для начинающих разработчиков, а также всех тех, кто и 1тересуется вопросами программирования для Web ББК 32.973.26-018.2/5 Все названия программных продуктов являются зарегистрированными торговыми марками соответст­ вующих фирм Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни бы Ю форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирова­ ние и запись на магнитный носитель, если на это нет письменного разрешения издательства JOHN WJLEY&Sons, Inc Copyright © 2005 by Dialektika Computer Publishing Original English language edition Copyright © 2004 by Wiley Publishing, Inc Allrightsreserved including therightof reproduction in whole or in part in any form This translation published by arrangement with Wiley Publishing, Inc For Dummies and Dummies Man are trademarks under exclusive license to Wiley Publishing, Inc Used by permission ISBN 5-8459-0851-5 (рус.) ISBN 0-7645-4166-8 (англ.) © Компьютерное изд-во "Диалектика", 2005 © Wiley Publishing, Inc., 2004 Оглавление Введение 16 ЧАСТЬ I ПОЗНАКОМЬТЕСЬ С ЯЗЫКОМ СЦЕНАРИЕВ РНР 19 Глава Знакомство с РНР 21 Глава Настройка программного окружения 29 Глава Создание первого сценария РНР 43 ЧАСТЬ II ПЕРЕМЕННЫЕ И ДАННЫЕ 55 Глава Использование переменных в сценариях РНР 57 Глава Работа с данными 72 Глава Объединение данных с помощью массивов 89 ЧАСТЬ III ОСНОВЫ ПРОГРАММИРОВАНИЯ НА РНР ш Глава Управление ходом выполнения сценария 113 Глава Повторное использование кода в сценариях РНР 134 Глава Объектно-ориентированное программирование на РНР 148 ЧАСТЬ IV СТАНДАРТНЫЕ РНР-ПРИЛОЖЕНИЯ 165 Глава 10 Основы создания Web-приложений 167 Глава 11 Другие виды Web-приложений 188 Глава 12 Хранение данных с использованием РНР 207 Глава 13 РНР и операционная система 231 Глава 14 Расширения РНР 250 ЧАСТЬ V ВЕЛИКОЛЕПНЫЕ ДЕСЯТКИ 263 Глава 15 Десять правил, которых следует придерживаться при разработке сценариев на РНР 265 Глава 16 Десять жизненно необходимых Web-ресурсов 270 ЧАСТЬ VI ПРИЛОЖЕНИЯ 273 Приложение А Установка РНР 275 Приложение Б Встроенные функции РНР 293 Предметный указатель 310 Содержание Введение Об этой книге Как использовать эту книгу Очевидные предположения Структура книги Пиктограммы, используемые в книге 16 ЧАСТЬ I ПОЗНАКОМЬТЕСЬ С ЯЗЫКОМ СЦЕНАРИЕВ РНР 19 Глава Знакомство с РНР Особенности языка РНР Различные применения РНР Использование РНР для Web-приложений Использование РНР для взаимодействия с базами данных Использование РНР для взаимодействия с файловой системой Использование РНР для запуска системных команд Принципы функционирования РНР РНР как универсальный язык РНР для Web Отслеживайте изменения РНР Предыдущие версии РНР :>л :и Глава Настройка программного окружения Настройка Web-окружения Использование существующей Web-среды Выбор хостинговой компании Настройка собственного Web-окружения Тестирование РНР Настройка РНР для написания сценариев общего назначения Настройка РНР Использование специальных средств создания РНР-сценариев Редакторы для написания программ Интегрированная среда разработки 29 Глава Создание первого сценария РНР Написание операторов РНР Написание сценариев Вставка операторов РНР в HTML-код Использование РНР независимо от Web Создание первого сценария РНР Детальнее об операторах вывода Обработка операторов вывода РНР Использование специальных символов в операторах вывода Документирование сценариев 43 43 44 45 46 48 49 :»0 :>1 :>2 L6 16 17 17 18 :>2 :>2 :>з :»4 ш :>4 :и :»5 :>б 27 21 29 :ю :и 34 :i6 :\9 :\9 40 40 41 ЧАСТЬ II ПЕРЕМЕННЫЕ И ДАННЫЕ 55 Глава Использование переменных в сценариях РНР Имена переменных Присваивание и отображение значений переменных Создание переменных Отображение значений переменных Создание первого сценария с переменными Более подробно об операторах вывода Использование переменных переменных Удаление переменных Работа с константами Создание констант Когда использовать константы Отображение значений констант Использование встроенных констант Обработка сообщений об ошибках Изменение уровня проверки ошибок для Web-узла Изменение уровня проверки ошибок в сценарии Запись сообщений в файл журнала Расширенная обработка ошибок Глава Работа с данными Типы данных Присваивание типов данных Приведение типов Работа с числами Выполнение математических операций Форматирование чисел для вывода Работа со строками символов Использование в строках специальных символов Сравнение строк в одинарных и двойных кавычках Сокрытие символов Объединение текстовых строк Манипуляция строками Форматирование текстовых строк Использование даты и времени Форматирование даты Хранение значений в формате timestamp Глава Объединение данных с помощью массивов Создание массивов и работа с ними Создание массивов Вывод элементов массивов Изменение массивов Удаление значений из массива Сортировка массивов Использование массивов в выражениях Использование массивов в операторе echo Использование массивов в функции list 57 57 58 58 59 60 61 62 63 63 63 64 66 66 67 67 68 69 70 72 72 72 73 74 74 76 78 79 79 80 81 81 82 85 86 87 89 89 89 91 92 92 93 94 95 95 Содержание Перемещение по массивам Перебор элементов массива вручную Использование оператора foreach для прохода по массиву Определение размера массива Преобразование массивов в текстовые строки (и наоборот) Преобразование переменных в массивы (и наоборот) Разбиение и слияние массивов Сравнение массивов Другие операции с массивами Суммирование массивов Удаление повторяющихся элементов Перестановка ключей и значений в массиве Многомерные массивы Создание многомерных массивов Вывод многомерных массивов Использование многомерных массивов в выражениях Проход по многомерному массиву Массивы, встроенные в РНР Использование суперглобальных массивов Использование массивов $_SERVER и $_ENV Использование переменных $argv и $argc !»6 96 ( >7 98 98 '19 11)0 101 102 102 ЮЗ 103 103 104 105 105 106 107 107 108 109 ЧАСТЬ III ОСНОВЫ ПРОГРАММИРОВАНИЯ НА РНР и Глава Управление ходом выполнения сценария Изменение порядка выполнения операторов в сценарии Проверка условий Использование операций сравнения Проверка содержимого переменной Использование регулярных выражений Объединение условий Использование условных операторов Использование оператора if Оператор switch Повторение действий с помощью циклов Цикл for Цикл while Цикл dcwhile Избегайте бесконечных циклов Прерывание циклов Глава Повторное использование кода в сценариях РНР Включение кода в сценарий Включение файлов Размещение файлов включения Установка путей для файлов включения Создание повторно используемого кода (функции) Определение функций Использование переменных в функциях Передача значений в функцию [3 113 114 115 116 1L6 119 1: > 121 124 125 126 129 1:Ю 1)1 1.32 134 155 135 136 137 138 138 140 141 Содержание Возвращаемое значение функции Использование встроенных функций Обработка ошибок • Глава Объектно-ориентированное программирование на РНР Введение в объектно-ориентированное программирование Объекты и классы Свойства Методы Наследование Что отсутствует в объектно-ориентированной парадигме РНР Разработка объектно-ориентированных программ Выбор объектов Выбор свойств и методов для каждого объекта Создание и использование класса Определение класса Создание класса Определение свойств Использование переменной $this Добавление методов Создание конструктора Собирая все вместе Использование класса Скрытые свойства и методы Использование исключений Копирование объектов Удаление объектов 145 146 147 148 148 149 149 149 150 151 151 151 152 152 152 152 153 154 154 154 155 157 158 161 161 162 ЧАСТЬ IV СТАНДАРТНЫЕ РНР-ПРИЛОЖЕНИЯ 165 Глава 10 Основы создания Web-приложений Обеспечение безопасности Web-узла Обеспечение безопасности компьютера, на котором установлен Web-узел Ограничение доступа к информации Осторожность при получении информации от пользователей Использование безопасного Web-сервера Отображение статических Web-страниц Работа с HTML-формами Получение информации от посетителей Web-узла Получение информации Проверка данных Очистка данных Глава 11 Другие виды Web-приложений Независимость Web-страниц Перемещение между страницами Web-узла Вывод ссылок Использование форм Перемещение пользователей Перемещение данных между страницами Добавление информации к URL-адресу 167 167 168 168 169 169 170 170 171 177 179 186 188 188 188 189 189 190 191 191 Содержание Передача информации с помощью данных cookie Передача информации с помощью HTML-форм Использование сеансов РНР Создание сеансов для групп пользователей Загрузка файлов Использование форм для загрузки файлов Получение информации о загружаемом файле Перемещение файлов в требуемый каталог Совмещая все вместе Использование JavaScript и РНР Добавление кода JavaScript в сценарий РНР Использование переменных РНР в сценариях JavaScript Глава 12 Хранение данных с использованием РНР Использование текстовых файлов Доступ к файлам Запись в файл Чтение файла Обмен данными с другими программами Работа с базами данных Системы управления базами данных Поддержка баз данных в РНР Взаимодействие с базой данных Использование РНР для взаимодействия с базами данных Обработка ошибок Собирая все вместе Использование расширения SQLite 193 194 195 200 200 200 201 202 202 205 205 206 207 208 209 210 211 213 216 216 2]8 220 221 225 227 229 Глава 13 РНР и операционная система Управление файлами Получение информации о файле Копирование, переименование и удаление файлов Организация файлов Использование команд операционной системы Использование одинарных кавычек Использование функции system() Использование функции ехес() Использование функции passthru() Вопросы безопасности Использование протокола FTP Подключение к серверу FTP Получение содержимого каталога Передача файлов с помощью протокола FTP Другие функции для работы с протоколом FTP Использование электронной почты Настройка РНР для работы с электронной почтой Отправка электронных сообщений Отправка почтовых вложений 231 231 32 233 34 236 238 239 239 40 240 241 241 42 42 243 244 245 246 246 Глава 14 Расширения РНР Основные расширения РНР Стандартные расширения РНР 250 250 251 10 Содержание Использование модуля PEAR Где можно найти модуль PEAR Установка модуля PEAR Установка пакета PEAR Использование пакетов PEAR 254 255 256 258 259 ЧАСТЬ V ВЕЛИКОЛЕПНЫЕ ДЕСЯТКИ 263 Глава 15 Десять правил, которых следует придерживаться при разработке сценариев на РНР Отсутствие точки с запятой Недостаточное количество знаков равенства Опечатка в имени переменной Отсутствие символа доллара Ошибки, связанные с кавычками Вывод невидимых символов Нумерация элементов массива Включение операторов РНР Недостающая пара Путаница с круглыми и фигурными скобками 265 265 266 266 266 266 267 267 268 268 269 Глава 16 Десять жизненно необходимых Web-ресурсов Официальный Web-узел РНР Списки рассылки РНР Ядро Zend Web-pecypc РНР Builder Web-ресурс Black Beans PHP для начинающих Web-pecypc PHP Dev Center Web-узел PHPMac com Редакторы РНР Web-pecypc SourceForge.net Бесплатные Web-хостинговые услуги Web-узел автора настоящей книги 270 270 270 270 271 271 271 271 271 271 271 272 272 ЧАСТЬ VI ПРИЛОЖЕНИЯ 273 Приложение А Установка РНР Установка модуля РНР в системах Unix/Linux Перед установкой модуля РНР в системах Unix/Linux Установка модуля РНР в системах Unix/Linux Альтернативный метод установки вместе с сервером Apache Установка модуля РНР в системе Мае Перед установкой модуля РНР в системе Мае Установка модуля РНР в системе Мае Параметры установки для операционных систем Unix/Linux/Mac Настройка сервера Apache и модуля РНР в системах Unix/Linux/Mac Установка РНР в системе Windows Автоматическая установка РНР CGI Установка модуля РНР вручную Настройка модуля РНР и Web-сервера в системе Windows 275 275 276 276 278 280 280 281 283 284 286 287 289 290 Содержание 11 rand () Генерирует случайную величину из заданного диапазона Синтаксис: $number_rand = rand(минимум, максимум); round() Округляет число с точностью до заданного количества десятичных цифр Синтаксис: $ r e s u l t = round{число, количество_цифр); aqrt () Возвращает квадратный корень от заданного аргумента Синтаксис: $ s g u a r e _ r o o t = s g r t (число); arand() Инициализирует генератор случайных чисел с указанным начальным значением Синтаксис: srand(начальное_значение) ; Функции qua fuzJoriibi с па/гам&н/гами В этом разделе приведены функции для работы с параметрами РНР gmtmnvO Возвращает значение переменной окружения Синтаксис: $environment_value = getenv("имя_переменной_окружения" I; gmtlaatmodO Возвращает время последней модификации текущего сценария Синтаксис: $timestamp = g e t l a s t m o d ( ) ; ini_gat () Возвращает значение конфигурационного параметра Синтаксис: $ s t r i n g = i n i _ g e t ( " п а р а м е т р " ) ; ini_set() Устанавливает значение конфигурационного параметра (см главу 4) Синтаксис: i n i _ s e t ("параметр", " значение") ; pbpinfoO Предоставляет информацию о версии и параметрах модуля РНР (см главу 4) Синтаксис: phpinf о ( ) ; phpvmraionO Возвращает текущую версию РНР Синтаксис: $ v e r s i o n = p h p v e r s i o n O ; putenvf) Добавляет переменную окружения Обычно значение задается в виде имя_переменной=зна чение Синтаксис: p u t e n v (" значение") ; 304 Часть VI Приложения Стоковые функции В этом разделе приведены функции для работы со строками addBlaeheeO Возвращает строку без одинарных/двойных кавычек, обратной косой черты и символа \ Синтаксис:$string_escaped = a d d s l a s h e s ( " с т р о к а " ) ; base64_encodeО, base64_decode() Шифрует/декодирует строку с использованием алгоритма base64 (см главу 13) Синтаксис: $ s t r i n g _ e n c o d e d = base64_encode("строка"); chop () Удаляет пробелы в конце строки Синтаксис:$chopped = chop("строка"); chr() Возвращает символ ASCII, соответствующий заданному коду Синтаксис: $char = c h r (KOUJUSCII) ; count_chara() Возвращает ассоциативный массив, ключами которого являются символы строки $ s t r i n g , а значениями— их количество в заданной строке Необязательный параметр критерий позволяет выбрать символы только с нулевой или ненулевой частотой появления и т.д По умолчанию в ассоциативном массиве размещаются все символы строки $ s t r i n g Синтаксис:$array = c o u n t _ c h a r s ( $ s t r i n g , критерий); mchoO Выводит одну или более строк (см главу 3) Синтаксис: echo строка!, строка2, строкаЗ, .; eregO, eregiO Выполняет поиск подстроки в строке $ s t r i n g , которая соответствует заданному шабло­ ну При этом функция e r e g i () не учитывает регистр символов (см главу 7) Синтаксис: $bool • ereg("шаблон", $ s t r i n g ) ; ereg_replace(), eregi_replace() Находит фрагмент строки $ s t r i n g , соответствующий указанному шаблону, и заменяет его новой строкой Функция e r e g _ r e p l a c e ( ) зависит от регистра символов, а функция e r e g i _ r e p l a c e () — нет (см главу 7) Синтаксис: $new_string = ereg_replace(ereg_replace("шаблон", "новая_строка", $ s t r i n g ) ; explode() Создает массив, элементами которого являются части строки $ s t r i n g , отделенные друг от друга символом-разделителем Синтаксис: $ a r r a y _ o u t = explode ("разделитель", $ s t r i n g ) ; htmlmntitima() В строке $ o r i g _ s t r i n g переводит все объекты HTML в специальные символы Синтаксис: $ s t r i n g _ o u t = h t m l e n t i t i e s ( $ o r i g _ s t r i n g ) ; Приложение Встроенные функции РНР 305 htmlspecialcbara () В строке $ s t r i n g преобразует специальные символы в объекты HTML, как, например, & — в &атр Синтаксис: $ s t r i n g _ o u t = h t m l s p e c i a l c h a r s ( $ s t r i n g ) ; implode() Объединяет элементы массива $аггау в одну строку и разделяет их с помощью разделите и Синтаксис: $ s t r i n g _ o u t = implode ( $ a r r a y , "разделитель"); nl2br() В заданной строке $ s t r i n g вставляет дескриптор перед каждым символом пе­ ревода строки (\п) Синтаксис:$string_out = n l b r ( $ s t r i n g ) ; ord() Возвращает ASCII-значение первого символа строки Синтаксис: $ i n t e g e t = o r d ( " строка") ; parse_url () Создает ассоциированный массив, в элементах которого содержатся различные части URL-адреса Синтаксис: $ a r r a y = parse_url("anpec_URL"); print() Выводит строку, число или значение переменной Синтаксис: p r i n t параметр; printfO Выводит строку в заданном формате (см главу 5) Синтаксис: p r i n t f ("формат", аргумент!, аргумент2, split О, аргументЗ, .; splitiO Создает массив, в элементах которого размещаются результаты разбиения строки $ s t r i n g на отдельные фрагменты с учетом заданного регулярного выражения шаблон Функция s p l i t i () не учитывает регистр символов Синтаксис: $ a r r a y = s p l i t ("шаблон", $ s t r i n g ) ; $ a r r a y = s p l i t i ("шаблон", $string); sprintf () Возвращает строку, преобразованную в соответствии с заданным форматом (см главу 5) Синтаксис: $ s t r i n g = s p r i n t f ("формат", аргумент1, аргумент2, аргументЗ, ) ; str_pad() Удлиняет исходную строку $ s t r i n g до заданного размера Синтаксис: $ s t r i n g = s p r i n t f ( $ s t r i n g , длина, "заполнитель"); str_repeat() Возвращает строку $ s t r i n g , продублированную заданное число раз Синтаксис: $ s t r i n g _ o u t = s t r _ r e p e a t ( $ s t r i n g , число); 306 Часть VI Приложения str_repla.ce () Заменяет все вхождения старого_текста в строке $ s t r i n g на новый текст Синтаксис: $ s t r i n g _ o u t = str_replace("старый_текст", "новый_текст", $string); strchrO, strrchar () Функция s t r c h r O возвращает часть строки $ s t r i n g , начиная с первого вхождения символа и до ее конца, a s t r r c h a r () — начиная с заданного символа и до начала строки Синтаксис:$string_part = s t r c h r ( $ s t r i n g , "символ"); strcmpl), strcasecmp() Эти функции выполняют сравнение двух строк Если строка $ s t r l длиннее $ s t r , воз­ вращается значение 1, в противном случае — значение - Если обе строки имеют одинако­ вую длину, возвращается значение Функция strcmp () учитывает регистр символов, a s t r c a s e c m p () — нет Синтаксис: s t r c a s e c m p ( $ s t r l , $ s t r ) ; strcapnO Возвращает позицию первого вхождения заданного символа в строку $ s t r i n g Синтаксис: $ i n t = s t r c s p n ( $ s t r i n g , "символ"); strip_tasrs () Удаляет из строки $ s t r i n g дескрипторы HTML и РНР Необязательный параметр разрешенные_дескрипторы позволяет задать символы, которые удаляться не будут (см главу 10) Синтаксис: $ s t r i n g _ s t r i p p e d = s t r i p _ t a g s ( $ s t r i n g , "разрешенные_дескрипторы"); strlenO Возвращает длину строки $ s t r i n g в символах Синтаксис: $ l e n g t h = s t r l e n ( $ s t r i n g ) ; strposO, strrpos() Функция s t r p o s () возвращает позицию первого вхождения заданного символа в строку $ s t r i n g , a s t r r p o s () — последнего Синтаксис:$integer = s t r p o s ( $ s t r i n g , "символ"); $integer = strrpos($string, "символ"); stratrO, stristri) Возвращает часть строки $ s t r i n g , начиная с первого появления указанного символа и до ее конца Функция s t r s t r () учитывает регистр символов, а функция s t r i s t r () — нет Синтаксис:$str_part = s t r s t r ( $ s t r i n g , "символ"); $str_part = s t r i s t r ( $ s t r i n g , "символ"); strtolower(), strtoupperO Преобразуют строку $ s t r i n g в нижний и верхний регистр соответственно Синтаксис: $ s t r _ l o w e r = s t r t o l o w e r ( $ s t r i n g ) ; $str_upper = s t r t o u p p e r ( $ s t r i n g ) ; Приложение Б Встроенные функции РНР 307 mtrtrl) Эта функция заменяет в строке $ s t r i n g каждую подстроку старый_текст на подстро­ ку новый_текст Синтаксис: $ s t r i n g _ o u t = s t r t r ( $ s t r i n g , "новый_текст", "старый_текст"); subBtrO Возвращает часть строки $string с заданной количество_символов Синтаксис: $ s t r i n g _ n e w = s u b s t r ( $ s t r i n g , начало, количество_символов); позиции и длин эй Bubatr_replace() Заменяет часть строки $ s t r i n g новой_строкой с начальной позиции и длиной количество_символов Синтаксис: $ s t r i n g _ n e w = s u b s t r _ r e p l a c e ( $ s t r i n g , "новая_строки", начало, количество_символов) ; trlmO, ltrimO, rtrimO Функция t r i m ( ) удаляет все пробелы в начале и в конце строки $ s t r i n g , l t r i m ( ) — только в начале, a r t r i m () — только в конце Синтаксис: $ s t r i n g _ n e w = t r i m ( $ s t r i n g ) ; ucfirst() Переводит первый символ строки $ s t r i n g в верхний регистр Синтаксис: $ s t r i n g _ n e w = u c f i r s t ( $ s t r i n g ) ; ucwordsO Переводит в верхний регистр первые символы всех слов строки $ s t r i n g Синтаксис: $ s t r i n g _ n e w = ucwords ( $ s t r i n g ) ; wordwrap () Вставляет в строку $ s t r i n g символ перевода строки (\г\п) через указанное количество символов и до конца строки Синтаксис:$string_new = w o r d w r a p ( $ s t r i n g , количество_символов) ; Функции сцлл fia^OfHH с переменными В этом разделе приведены функции для работы с переменными empty () Определяет, присвоено ли переменной $varname какое-либо значение (см главу 7) Синтаксис: $bool = empty ($varname) ; g-et de£ ined_classes () Создает массив с именами всех классов, используемых в сценарии (в том числе и в под­ ключаемых файлах) Синтаксис: $ a r r a y _ c l a s s e s = get_def i n e d _ c l a s s e s () ; gat_dafined_constant*() Возвращает ассоциированный массив с именами всех констант 308 Часть VI Приложения Синтаксис: $ a r r a y _ c o n s t a n t s = g e t _ d e f i n e d _ c o n s t a n t s ( ) ; Sret_defined functions () Возвращает ассоциированный массив с именами всех функций Синтаксис: $ a r r a y _ f u n c t i o n s = g e t _ d e f i n e d _ f u n c t i o n s ( ) ; get_defined_vare() Возвращает массив с именами всех переменных Синтаксис:$array_vars • g e t _ d e f i n e d _ v a r s ( ) ; issat () Проверяет, существует ли переменная $varname (см главу 7) Синтаксис: $bool = i s s e t ($varname) ; print_r() Выводит содержимое переменной $varname (см главу 4) Синтаксис: p r i n t _ r ($varname) ; putenvO Добавляет переменную окружения Обычно параметр задается в виде ной=зяачение Синтаксис: p u t e n v (" параметр") ; имя_перемен* serialize() Преобразует данные в двоичную строку Эта функция оказывается полезной при сохране­ нии данных в файле или в базе данных В качестве параметра $ v a r i a b l e можно использо­ вать любой тип данных, включая объект или функцию Синтаксис: $ s t r i n g _ s e r = s e r i a l i z e ( $ v a r i a b l e ) ; unserialize() Восстанавливает сериализованные данные в первоначальном виде Синтаксис: $ v a r i a b l e = u n s e r i a l i z e ( $ s t r i n g _ s e r ) ; илset() Удаляет переменную с именем $varname (см главу 4) Синтаксис: u n s e t ($varname) ; var_dvmp() Выводит содержимое переменной (см главу 4) Синтаксис: var_dump ($varname) ; Приложение Б Встроенные функции РНР 309 Предметный указатель Emacs, 41 Embedded scripting language, 25 Error message, 67 Exception, 27 Extension, 250 Access, 24 Apache, 34; 275 Arachnophilia, 41 ASCII-код, 115 Attribute, 149 В BBEdit, 41 BCMath, 250 C, 24; 60 Character string, 78 Class, 149 CLI, 39 Client-side language, 22 Command Line Interface (CLI), 46 Complex statement, 44 Concatenation, 81 Condition, 114 Conditional statement, 114; 121 Constructor, 154 cookie, 191 Core, 250 CSV, 213 ctype, 251 cURL, 252 D Data Source Name (DSN), 260 Database, 216 Management System (DBMS), 216 dBASE, 23 Directory, 231 handle, 235 Domain name, 33 Dreamweaver MX, 42 E E_ALL, 66 EditPlus, 41 File, 231 handle, 209 Transfer Protocol (FTP), 30 filePro, 24 Flat file, 27 Folder, 231 FrontBase, 24 FY?, 241 Function, 138 GET, 178 H heredoc-механизм, 78 Hidden field, 195 HomeSite, 41 HTML-Kit, 41 HTML-форма, 170 Hypertext Preprocessing, 21 IBM DB2, 24 IIS, 275 \ Infinite loop, 131 Informix, 23 Ingres, 23 Inheritance, 150 Instantiation, 152; 157 Integrated Development Environment (IDE), A InterBase, 24 Internet Information Server (IIS), 35 IPlanet, 35 IP-адрес, 33 J Java, 60 JavaScript, 22; 205 К PHPUnit, 255 РНР-сценарий, 43; 113 Polymorphism, 151 POST, 178 PostgreSQL, 23 Property, 149 PWS, 291 Key, 89 Komodo, 42 Q L Query, 220 localhost, 222 Loop, 114 R M Maguma, 42 Master class, 150 Method, 149 Microsoft SQL Server, 23 mSQL, 23 Multiple inheritance, 151 MySQL, 23; 259 N Nesting, 124 Net_SMTP, 255 Netscape Enterprise Server, 35 Notice, 67 О Object, 148 Open Database Connectivity (ODBC), 24; 216 Oracle, 23 Output statement, 49 P Package manager, 256 Parent class, 150 Passing by reference, 144 PEAR (PHP Extension and Application Repository), 250; 254 Perl, 24 Personal Home Page, 21 PHP CGI, 39 CLI, 25; 27; 275 PHPEdit, 42 Предметный указатель Regular expression, 116 Responsibility, 149 Returning value, 140 s Secure Sockets Layer (SSL), 35; 170 Server-side language, 22 Session, 195; 207 ID, 195 Shell script, 24 Simple Mail Transfer Protocol (SMTP), 245 statement, 43 SQLite, расширение, 27; 208; 229; 251 Structured Query Language (SQL), 220 Stuffit Expander, 281 Subclass, 150 Subdomain, 33 Sybase, 23 T TextWrangler, 41 timestamp, 85 tokenizer, 251 TSV, 214 Type casting, 73 и Uniform Resource Locator (URL), 25 V Validating information, 179 Variable, 57 311 w Warning message, 67 WDDX, 251 Web-окружение, 29 Web-приложение, 21 Web-сервер, 25; 26; 29 whois, 34 World Wide Web (WWW), 25 X XML_Parser, 255 z Zend, 27 Studio, 42 zlib, 251 A Автоглобальный массив, 107 Автоматическая нумерация, 90 Архитектура PHP, 250 Атрибут, 149 maxlength, 174 Б База данных, 23; 216; 259 Бесконечный цикл, 131 Блок, 44 Брандмауэр, 168 В Включение файлов, 135 Вложение оператора, 124 Вложенный комментарий, 53 Возвращаемое значение, 140 Встроенная константа, 66 Встроенный массив, 107; 177; 201 язык написания сценариев, 25 Г Генерация исключения, 161 Глобальная переменная, 140 312 Д Двоичный файл, 248 Дескриптор , 189 PHP, 45 каталога, 235 файла, 209 Директива include_path, 138 Indexes, 169 trans-sid, 196; 198 upload_tmp_dir, 201 Документирование сценариев, 52 Доменное имя, 32; 33 Загрузка файлов, 200 Запрос, 220 Значение по умолчанию, 143 И Идентификатор, 57 группы, 232 сеанса, 195 Изменение порядка выполнения, 113 Именование переменных, 57 Индекс, 89 Инстанцирование, 152; 157 Интегрированная среда разработки, 40 основные возможности, 41 Интерпретатор, 25 Интерфейс CLI, 46 Исключение, 27; 161 К Кавычки, 79 Каталог, 231 Класс, 149 Exception, 161 определение, 152 родительский, 150 Клиентский язык, 22 Ключ, 89 Ключевое слово, 64 Комментарий, 52; 53 Конкатенация, 81 Предметный указатель Константа, 63 E_ALL, 68 встроенная, 66 Конструктор, 154 Копирование объектов, 161 Л Логический тип, 72 Локальная переменная, 140 м Массив, 56; 89 $_СООК1Е, 194 $_FILES, 201 $_GET, 192 $_SERVER, 107 $_SESSION, 196 встроенный, 107; 177 многомерный, 104 суперглобальный, 28 Менеджер пакета, 256 Метод, 149; 154 clone(), 161 _destruct(), 162 открытый, 158 передачи данных, 178 Многомерный массив, 104 Множественное наследование, 151 Модуль mod_so, 276 PEAR, 254 н Наследник, 150 Наследование, 150 Настройка Web-окружения, 34 О Обработка исключений, 27 кода РНР, 45 ошибок, 66; 147; 161 Обработчик ошибок, 71 Объединение строк, 81 условий, 119 Объект, 148 Предметный указатель Объектно-ориентированное программирование, 27; 148 Обязанность объекта, 149 Ограничение доступа, 159 Оператор, 43 break, 132 define, 63 echo, 43; 59; 62 foreach, 97 if, 121 switch, 124 вывода, 49 простой, 43 сложный, 44 условный, 114 Операционная система, 24; 236 Определение типа переменных, 72 Открытое программное обеспечение, 217 Открытый интерфейс доступа к базам данных, 24 п Пакет PEAR-DB, 259 подключение, 259 Папка, 231 Передача значений, 141 по ссылке, 144 Переменная, 57 $this, 154 переменной, 62 Переменная-счетчик, 126 Перемещение между страницами, 188 Персональная домашняя страница, 21 Повторное использование, 134 Поддомен, 33 Подкласс, 150 Полиморфизм, 151 Порядок выполнения операций, 75 Предупреждение, 67 Преобразование типов, 73 Приведение типов, 73 Проверка данных, 179 Простой тип, 72 Протокол FTP, 30; 241 SMTP, 245 SSL, 35; 170 313 р Расширение, 250 активизация, 252 файлов, 31 Регулярное выражение, 116; 180 Редактор кода, 41 Резервное копирование, 33 Родительский класс, 150 С Свойство, 149 Сеанс, 191; 195; 207 Сервер, 22 Apache, 34 IIS, 35 iPlanet, 35 Серверный язык, 22 Символ, 78 специальный, 79 Система регистрации доменных имен, 33 управления базами данных (СУБД), 216 Скрытое поле, 195; 199 Сложный оператор, 44 Сообщение об ошибке, 67 Сортировка массивов, 93 Специальный символ, 79; 117 Ссылка, 189 Строка, 72 Суперглобальный массив, 28; 107 Сценарий оболочки, 24; 47 т Текстовая строка, 78; 117 Текстовый файл, 27; 208 Тип, 72 переменной, 116 У Уведомление, 67 Удаление объектов, 162 Указатель массива, 96 Уровень проверки ошибок, 67 в сценарии, 68 Условие, 114 Условный оператор, 114; 121 Устранение ошибок, 265 Утилита сканирования, 168 314 ф Файл, 231 CSV, 213 httpd.conf, 38 php.ini, 38; 40; 48; 67 двоичный, 248 журнала, 69 текстовый, 229 Файловая система, 24 Форма, 23; 194 Форматирование данных, 82 даты, 86 Функция, 138 date(), 86 die(), 71; 147 echoO, 73 emptyO, 179 ereg(), 119 exit(), 70 includeO, 135 mail(), 246 my_error_handler(), j \ number_format(), 77 print_r(), 59 printf(), 77 require(), 136 strtotimeO, 87 system(), 239 для обработки текстовых строк, 83 для работы с HTTP и электронной почтой, 302 с датой и временем, 297 с массивами, 293 с параметрами РНР, 304 с переменными, 308 с файловой системой, 297 математическая, 302 передача значений, 141 сортировки массивов, 94 строковая, 305 X Хостинговая компания, 31 ц Целый тип, 72 Цикл, 114; 125 Предметный указатель while, 130 for, 126 бесконечный, 131 a XT Число с плавающей точкой, 72 Ядро, 250 Zend, 270 Язык JavaScript, 22 серверный, 22 структурированных запросов, 220 э Электронная коммерция, 43 почта, 244 Предметный указатель 315 О I 0! THT5 qjL& "чайников BESTSELL1NG BOOK //TM SERIES Специальные символы, используемые в шаблонах СИМВОЛ Назначение Пример Начало строки ( ) [ ] П \ + 4?*' * •^*fn} S \ ^ • ) Соответствует шаблону Не соответствует шаблону экзамен математический экзамен экзамены а, Конец строки Любой одиночный символ н$ Предшествующий символ является не обязательным Группирует буквенные символы в последовательность, которую в точности должна содержать строка Включает набор необязательных символов Определяет все символы, кроме указанных Включает диапазон всех символов, заключенных между двумя(ряд возможных символов) Один или несколько наборов предшествующих символов Один, ни одного или несколько вхождений предшествующего символа Повторение л раз Определяет диапазон повторений символа (символов) Определяет буквенный символ Набор альтернативных строк ger?m экзамен до, от Более длинные слова также соответствуют этому шаблону, поскольку включают текстовую строку из двух символов germ, gem geam g(er)m germ Gem, grem j[er]m gem,grm germ, gel 31 erjm gym, gum gem, grem, germ g[a-c]m gam, gbm, gem gdm, gxm, gal b l d g [ l - ] bldg111,bldg132 bldg,bldg555 ge*m gm, geeem germ,grm ge{5}m а(2,5) geeeeem aa, aaa, aaaa, 145aaaaa geeeem, geeeeeem 1,a3 g\*m g*m gem, germ (Сэм! Салли) Салли Сара, Салмон BESTS ELUNG BOOK SERIES Создание массивов Метод создания массива Использование пустых скобок Пример кода Scolors[] » ""; Scolors [] = ""; Spaint ['house'] ô ""; Использование ключей S p a i n t P b a r n ' ] = "красный" Использование функции array Scolors » аггау("синий", "красный"); Использование функции array Scolors • array(5 •> "синий", "красный"); Использование функции array Spaint = a r r a y ( " b a r n " => "красный", "house" •> с ключами "зеленый"); SpaintPhouse'H'tall'] » Многомерный массив "желтый"; Spaintpbarn'jptall'] = "белый"; S p a i n t P h o u s e ' ] ["short') » "синий"; SpaintPbarn'] ['short'] = "красный"; J^^ Результат Scolors[l) = красный; Scolors[2] - синий; Spaint[house ] • синий; Spaint[barn) " красный; Scolors[l] = синий; Scolors[2] = красный; Scolors[5] « синий; Scolors[6] « красный; Spaint[barn] - красный; $paint[house ] = зеленый; $paint[house][tall] • желтый; $paint[barn][tall] = белый; $paint[house] [short] » синий; Spaint[barn] [short] = красный; One/iauuu сравнения Операция Описание "" Равнозначны ли значения двух переменных? === Одинаковы ли как значения, так и типы двух переменных? > Больше ли первое значение, чем второе? Могут быть любой длины >= Верно ли,что первое значение не меньше второго? < Могут включать буквы, цифры и символы подчеркивания Меньше ли первое значение, чем второе?

Ngày đăng: 24/05/2018, 08:50

Xem thêm: