PHP 5 для начинающих

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Эта книга представляет собой подробное учебное пособие для желающих освоить РНР.

Author(s): Мерсер, Кент, Новицки
Publisher: Диалектика
Year: 2006

Language: Russian
Commentary: 1146149703
Pages: 846

Об авторах......Page 22
Введение......Page 24
Темы, которые рассматриваются в данной книге......Page 26
Как организована эта книгаt......Page 27
Что требуется для использования данной книги......Page 29
Использование командной строки......Page 30
Исходный код......Page 31
p2p.wrox.com......Page 32
Глава 1. Установка и использование PHP......Page 34
Истоки PHP......Page 35
Системные требованияt......Page 36
Настройка тестовой машины......Page 37
Использование PHP 5......Page 38
Установка PHP на Linux и Apache......Page 39
RPM-установка PHP 4......Page 40
Компиляция PHP 5 из исходного кода......Page 43
Настройка Apache для работы с PHP......Page 50
Конфигурирование Apache для работы с PHP 5......Page 51
Установка PHP 5 на Windows 2000/Internet Information Server 5......Page 53
Загрузка дистрибутива PHP 5......Page 55
php.ini и расширения......Page 57
Тестирование и устранение неисправностей......Page 61
Файл php.ini......Page 62
Резюме......Page 63
Упражнения......Page 64
Глава 2. Написание простых программ......Page 65
Создание PHP-программы......Page 66
Некоторые детали......Page 67
Web-страница (пользовательский интерфейс)......Page 68
PHP-разделители......Page 69
Как работают PHP-программы в Web-среде......Page 70
Web-соединения: Internet-протоколы и HTTP......Page 71
HTTP-протокол......Page 72
HTTP-запрос......Page 73
HTTP-ответ......Page 74
Тело ответа......Page 75
Использование переменных в PHP......Page 76
Именование переменных......Page 77
Типы данных......Page 78
Статические переменные......Page 80
PHP-операторы......Page 81
PHP-выражения......Page 82
Строковые операторы и функции......Page 83
Как это работает......Page 87
Арифметические операции в PHP......Page 88
Как это работает......Page 93
Индексы массивов......Page 94
Инициализация массивов......Page 95
Работа с массивами......Page 96
Сортировка массивов с помощью функций sort() и asort()......Page 97
Упражнения......Page 98
Основы HTML......Page 99
Дескрипторы form и input......Page 101
Доступ к PHP- и HTTP-данным......Page 103
Переменные в HTTP-запросах и ответах......Page 104
Суперглобальные массивы......Page 106
Гиперссылки......Page 109
Строки запросов......Page 110
Дескриптор
......Page 111
Атрибуты дескриптора ......Page 112
URL-кодирование......Page 114
Текстовые поля (текстовые окна)......Page 116
Как это работает......Page 118
Текстовая область......Page 119
Как это работает......Page 120
Флажки......Page 122
Использование нескольких флажков......Page 124
Как это работает......Page 126
Переключатели......Page 127
Как это работает......Page 129
Списки......Page 130
Как это работает......Page 131
Скрытые поля форм......Page 134
Как это работает......Page 136
Поля ввода паролей......Page 137
Использование в PHP-сценариях значений, возвращаемых формами......Page 138
Как это работает......Page 140
Возможные усовершенствования приложения......Page 143
Понятие состояния......Page 144
Скрытые поля форм......Page 145
Cookie-файлы......Page 146
Как это работает......Page 151
Собственные сеансы в PHP......Page 153
Как это работает......Page 155
Упражнение......Page 157
Проектирование логики PHP-программы......Page 159
Написание псевдокода......Page 160
Булевы значения......Page 161
Использование булевых термов и значений......Page 162
Пример ветвления......Page 164
Оператор if......Page 165
Операторы > и <......Page 166
Как это работает......Page 168
Операторы == и ===......Page 169
Операторы != и <>......Page 170
Логические операторы (AND, OR, !)......Page 172
Как это работает......Page 174
Операторы switch......Page 176
Как это работает......Page 179
Цикл while......Page 181
Как это работает......Page 184
Бесконечные циклы......Page 187
Циклы do while......Page 188
Как это работает......Page 189
Циклы for......Page 191
Как это работает......Page 193
Массивы......Page 196
Инициализация массивов......Page 197
Итерации в массиве......Page 198
Как это работает......Page 200
Усовершенствование программы......Page 202
Функции current() и key()......Page 203
Функции next() и prev()......Page 204
Функции list() и each()......Page 205
Итерации в ассоциативных массивах......Page 206
Функция asort()......Page 207
Функции rsort() и arsort()......Page 208
Многомерные массивы......Page 209
Практическое использование массивов......Page 210
Как это работает......Page 212
Функция array_multisort()......Page 214
Циклы foreach......Page 215
Резюме......Page 217
Упражнения......Page 218
Глава 5. Надежный и понятный код......Page 220
Значения, нарушающие работу кода......Page 221
Основные типы ошибок......Page 222
Конфигурирование PHP для обработки ошибок......Page 223
Синтаксические ошибки......Page 224
Ошибки времени выполнения......Page 227
Деление на нуль......Page 228
Бесконечные циклы......Page 230
Логические ошибки вывода......Page 231
Создание собственных инструментов для отладки......Page 232
Ошибки внутри HTML-кода......Page 233
Использование оператора exit......Page 234
Как это работает......Page 236
Предотвращение ввода пользователем HTML-кода: функция HTMLSpecialChars()......Page 238
Проверка строк......Page 239
Регулярные выражения......Page 241
Использование функции ereg()......Page 242
Специальные символы......Page 243
Некоторые распространенные образцы и их варианты......Page 244
Проверка ввода данных......Page 247
Как это работает......Page 249
Использование регулярных выражений для проверки URL-указателей......Page 250
Как это работает......Page 251
Использование регулярных выражений для проверки параметров файловых путей......Page 252
Как это работает......Page 253
Подавление сообщений об ошибках......Page 254
Try/Catch - нововведения в PHP5......Page 255
Как это работает......Page 259
Резюме......Page 262
Упражнение......Page 263
Глава 6. Создание высококачественного кода......Page 264
Написание спецификации......Page 265
Процесс написания кода......Page 266
Оптимизация кода......Page 267
Использование стандартов написания кода......Page 268
Написание пользовательских функций в PHP......Page 270
Структура функций......Page 271
Определение и вызов функций......Page 272
Как это работает......Page 276
Функции переключения......Page 277
Как значения попадают в функции......Page 278
Передача по ссылке......Page 279
Область видимости переменных......Page 280
Глобальные и локальные переменные......Page 281
Создание статических переменных в функциях......Page 282
Как это работает......Page 283
Рекурсия......Page 285
Как это работает......Page 287
Операторы include и require......Page 288
О чем следует позаботиться при использовании подключаемых файлов......Page 290
Упражнение......Page 291
Глава 7. Файлы и каталоги......Page 292
Обработка файлов и каталогов......Page 293
Функция fopen()......Page 294
Получение информации о файле......Page 297
Функция fwrite()......Page 298
Как это работает......Page 300
Чтение и запись символов в файлы......Page 302
Чтение файлов целиком......Page 305
Произвольный доступ к данным файла......Page 306
Как это работает......Page 309
Получение информации о файлах......Page 310
Временные свойства файлов......Page 311
Как это работает......Page 313
Принадлежность и права доступа к файлам......Page 314
Функции is_dir() и is_file()......Page 316
Как это работает......Page 318
Разделение имени файла и пути......Page 319
Копирование, переименование и удаление файлов......Page 320
Работа с каталогами......Page 322
Как это работает......Page 323
Другие функции для обработки каталогов......Page 324
Обход дерева каталогов......Page 325
Сценарий для навигации по каталогам......Page 327
Создание текстового редактора......Page 332
Загрузка файлов на сервер......Page 337
Как это работает......Page 341
Упражнение......Page 342
Глава 8. XML......Page 343
Что такое XML......Page 344
Структура XML-документа......Page 345
Правильно сформированные XML-документы......Page 346
Использование XML-элементов и атрибутов......Page 347
Корректные XML-документы: DTD-определения и XML-схемы......Page 348
DTD-определение для XHTML......Page 349
Ссылки на DTD-определения и XML-схемы......Page 350
Внешние XML-схемы......Page 351
Web-службы......Page 352
XML-функции в PHP4......Page 353
Как это работает......Page 358
XML-анализаторы......Page 359
Как это работает......Page 362
Использование функций DOM-расширения PHP......Page 363
Расширение SimpleXML......Page 364
Использование функции simplexml_load_string()......Page 365
Использование функции simplxml_load_file()......Page 366
Изменение значений с помощью simpleXML......Page 368
Как это работает......Page 370
Упражнение......Page 371
Глава 9. Введение в базы данных и SQL......Page 372
Хранение данных......Page 373
Встроенные базы данных......Page 374
Выбор базы данных......Page 375
Установка MySQL......Page 376
Установка MySQL на Linux......Page 377
Установка MySQL из RPM-пакетов......Page 378
Установка MySQL из исходного кода......Page 379
Конфигурирование MySQL......Page 380
Реляционные базы данных......Page 381
Первая нормальная форма (1NF)......Page 382
Третья нормальная форма (3NF)......Page 384
Типы данных в SQL......Page 385
Индексы и ключи......Page 387
Запросы......Page 388
Запуск клиентской программы mysql......Page 390
Выбор используемой базы данных......Page 391
Просмотр таблиц в базе данных......Page 392
Использование SQL для просмотра данных......Page 393
Манипуляции данными......Page 394
GRANT......Page 395
REVOKE......Page 396
Связь PHP и MySQL......Page 397
Основные функции соединения......Page 398
Как это работает......Page 400
Обработка серверных ошибок......Page 401
Как это работает......Page 404
Создание баз данных и таблиц с помощью MySQL-клиента......Page 405
Создание демонстрационной базы данных и таблиц с помощью PHP......Page 409
Как это работает......Page 411
Изменение структуры таблицы......Page 412
Вставка данных в таблицу......Page 414
Экранирование кавычек......Page 415
Заполнение таблиц данными......Page 416
Резюме......Page 417
Получение данных с помощью PHP......Page 418
Серверные функции......Page 421
Выбираемые поля......Page 422
Ограничение количества возвращаемых результатов......Page 423
Упорядочение результатов......Page 425
Сравнение с образцом......Page 426
Более сложные выборки......Page 427
Практический пример сценария......Page 431
Функция html_header()......Page 432
Содержимое файла userviewer.php......Page 433
Функция list_records()......Page 434
Функция view_record()......Page 437
Резюме......Page 440
Вставка записей с помощью PHP......Page 442
Специальные символы......Page 443
Функция htmlspecialchars()......Page 444
Обновление и удаление записей в таблицах......Page 445
Работа с полями даты и времени......Page 447
Получение информации о таблицах в базе данных......Page 450
Как это работает......Page 451
Как это работает......Page 454
Параметры ENUM и стандартные значения полей......Page 456
Как это работает......Page 458
Создание сценария для регистрации пользователей......Page 459
Функция in_use()......Page 460
Функция register_form()......Page 461
Функция create_account()......Page 462
Выбор следующего действия......Page 464
Создание сценария для протоколирования посещений страниц......Page 466
Файл auth_user.php......Page 467
Файл access_logger.php......Page 469
Файл userman.php......Page 473
Функция delete_record()......Page 474
Функция edit_record()......Page 475
Функция edit_log_record()......Page 476
Функция view_record()......Page 477
Выбор действия......Page 480
Резюме......Page 482
Упражнения......Page 483
Что такое объектно-ориентированное программирование?......Page 485
Основные понятия OO-программирования......Page 487
Классы......Page 488
Создание класса......Page 489
Добавление методов......Page 490
Добавление свойства......Page 491
Ограничение доступа к переменным экземпляра......Page 492
Как это работает......Page 493
Использование функций __get и __set......Page 494
Как это работает......Page 495
Инициализация объектов......Page 496
Уничтожение объекта......Page 499
Как это работает......Page 501
Наследование......Page 502
Как это работает......Page 506
Переопределение методов......Page 507
Сохранение функциональности родительского класса......Page 510
Интерфейсы......Page 512
Как это работает......Page 513
Инкапсуляция......Page 514
Изменения объектно-ориентированных возможностей PHP5......Page 516
Упражнения......Page 517
Унифицированный язык моделирования......Page 518
Инструменты для создания UML-диаграмм......Page 519
Диаграммы классов......Page 520
UML-диаграммы диспетчера контактов......Page 521
Диаграммы активности......Page 526
Диаграмма последовательностей......Page 527
Создание класса Entity......Page 529
Класс PropertyObject......Page 535
Классы, представляющие типы контактной информации......Page 537
Класс DataManager......Page 541
Классы Entity, Individual и Organization......Page 542
Использование системы......Page 549
Резюме......Page 551
Глава 14. PEAR......Page 552
Структура PEAR......Page 553
Общественная библиотека PHP-расширений......Page 554
Управляющие структуры, комментарии и отступы......Page 555
Вызовы и определения функций......Page 556
Поиск PEAR-пакетов на сайте pear.php.net......Page 557
Установка и использование диспетчера пакетов PEAR......Page 558
Использование диспетчера пакетов......Page 559
Использование PEAR-пакетов......Page 569
Как это работает......Page 572
Приложение......Page 574
Генерация XML-кода......Page 575
Сценарий radiogeneratexml.php......Page 577
Сценарий radiorequest.php......Page 578
Как это работает: radiogeneratexml.php......Page 581
Как это работает: сценарий radiorequest.php......Page 585
Резюме......Page 587
Основы e-mail......Page 589
Структура e-mail-сообщения......Page 590
Использование функции mail()......Page 592
Как это работает......Page 593
Многоэлементный MIME-формат......Page 595
Создание простого PHP-приложения для работы с e-mail......Page 597
Резюме......Page 604
Упражнение......Page 605
Глава 16. Генерирование графики......Page 606
Системы координат......Page 607
Типы изображений......Page 608
Распределение цветов......Page 609
Рисование отдельных пикселей......Page 610
Рисование линий......Page 611
Рисование прямоугольников......Page 612
Рисование дуг......Page 613
Рисование многоугольников......Page 614
Как это работает......Page 616
Открытие существующего изображения......Page 618
Копирование copyright-знака в изображение......Page 620
Использование прозрачности......Page 622
Создание пиктограмм......Page 624
Использование текста в изображениях......Page 627
Как это работает......Page 628
Использование шрифтов True Type......Page 629
Резюме......Page 631
Упражнения......Page 632
Глава 17. Учебный пример: диспетчер протоколирования на PHP......Page 633
Почему именно диспетчер протоколирования?......Page 634
Установка Smarty......Page 635
Как это работает......Page 637
Работа с PHPUnit......Page 640
Проектирование диспетчера протоколирования......Page 641
База данных sitelogs.db......Page 642
Планирование классов обработки данных......Page 644
Планирование классов обработки исключений......Page 647
settings.php......Page 648
initialize.php......Page 649
class.LogUtils.php......Page 651
class.PersistableLog.php......Page 655
class.UserLog.php......Page 657
class.LogContainer.php......Page 661
class.UserDemographic.php......Page 662
Сценарии проверки данных и обработки ошибок......Page 664
index.php......Page 669
report.php......Page 670
report.tpl......Page 671
Тестирование приложения......Page 672
Просмотр интерфейса диспетчера протоколирования......Page 683
Резюме......Page 687
Упражнение......Page 688
Решение......Page 689
Решение......Page 690
Упражнение......Page 691
Решение......Page 692
Упражнение......Page 694
Решение......Page 695
Решение......Page 696
Упражнение 2......Page 697
Решение......Page 698
Решение......Page 699
Решение......Page 703
Решение......Page 704
Решение......Page 705
Решение......Page 706
Web-сервер Apache......Page 710
Массивы......Page 711
BCMath......Page 716
Календарь......Page 717
Классы и объекты......Page 718
Типы символов......Page 719
Дата и время......Page 720
Обработка ошибок......Page 722
Файловая система......Page 723
FTP-функции......Page 726
Вызов функций......Page 728
HTTP-функции......Page 729
Функции для работы с изображениями......Page 730
IMAP-функции......Page 736
Mail-функции......Page 740
Math-функции......Page 741
Разные функции......Page 743
Функции MS SQL......Page 744
Функции MySQL......Page 746
Сетевые функции......Page 748
ODBC-функции......Page 749
Функции PCRE......Page 752
Параметры PHP и информация о PHP......Page 753
Выполнение программ......Page 755
Регулярные выражения......Page 756
Сеансы......Page 757
Сокеты......Page 758
Функции SQLite......Page 760
Расширение Streams......Page 762
Строки......Page 764
Функции переменных......Page 770
XML-функции......Page 772
ZLib......Page 773
Что такое SQLite?......Page 774
Почему стоит (или не стоит) использовать SQLite?......Page 775
Создание и поддержка соединений......Page 776
Манипуляция данными......Page 777
Сведения об извлекаемых данных......Page 778
Разные функции......Page 779
Создание базы данных и таблиц......Page 780
Форма ввода данных......Page 782
Главная страница и листинг книг......Page 785
Редактирование записи......Page 786
Общие ODBC-функции......Page 790
ODBC-функции в PHP......Page 791
Использование ODBC в Windows и Linux......Page 792
Создание базы данных Microsoft SQL Server......Page 793
Создание системного DSN......Page 795
Использование ODBC-функций PHP......Page 799
Начало......Page 804
Некоторые важные моменты......Page 805
Аргументы в PHP CLI......Page 807
Запуск shell-команды......Page 808
Автоматизация PHP CLI......Page 809
Интерактивность средствами PHP CLI......Page 811
Заключение......Page 812
Описание файла php.ini-dist......Page 813
Настройки языка......Page 815
Ограничения ресурсов......Page 818
Обработка и протоколирование ошибок......Page 819
Обработка данных......Page 821
Пути и каталоги......Page 823
Обработчики функции fopen......Page 824
Динамически загружаемые расширения......Page 825
Настройки расширений......Page 826
Предметный указатель......Page 837