Профессиональное программирование на PHP (+ CD). Денис Колисниченко

Профессиональное программирование на PHP (+ CD)

ИздательствоBHV
Год издания2007
Страниц416
ПереплетМягкая обложка
ПриложениеПрилагается CD
Формат70х100/16 (170х240 мм, увеличенный)
ISBN978-5-9775-0105-7
ИзготовительООО "Издательство "БХВ-Петербург". 194100, РФ, г. Санкт-Петербург, пр-т Лесной, 37/1Б
ИмпортерООО «НТЦ АПИ», г. Минск, ул. Уманская, 54, пом. 1, каб. 34

Книга рассчитана на программистов, уже освоивших азы программирования на PHP. Приводятся сведения об отладке, анализе и оптимизации кода. Большая часть книги посвящена практическим моментам PHP-разработки: модификации популярных систем управления контентом и форумов, написанию сценариев-кирпичиков, из которых можно "выстроить" собственный сайт или портал.

Книга рассчитана на программистов, уже освоивших азы программирования на PHP. Приводятся сведения об отладке, анализе и оптимизации кода. Большая часть книги посвящена практическим моментам PHP-разработки: модификации популярных систем управления контентом и форумов, написанию сценариев-кирпичиков, из которых можно "выстроить" собственный сайт или портал. Рассматриваются возможности объектно-ориентированного программирования на PHP. Отдельное внимание уделено продуктам компании Zend. На прилагаемом компакт-диске находятся все материалы (листинги и программное обеспечение), которые могут понадобиться для работы с книгой.

Содержание

  • Что делать, если вы не знаете PHP
  • ЧАСТЬ I. АНАЛИЗ И ОПТИМИЗАЦИЯ КОДА
    • Глава 1. Стиль кодирования
      • 1.1. Правила "хорошего тона"
      • 1.2. Обрамление PHP-кода
      • 1.3. Строки
      • 1.4. Правила работы с массивами
      • 1.5. Управляющие структуры
        • 1.5.1. Конструкция if-else (условный оператор)
        • 1.5.2. Циклы
        • 1.5.3. Конструкция switch-case
      • 1.6. Функции
      • 1.7. Комментарии
    • Глава 2. Оптимизация PHP-кода
      • 2.1. Правильное использование echo
      • 2.2. Длина переменных
      • 2.3. Правильное обращение к элементам массива
      • 2.4. Циклы
      • 2.5. Чтение файлов
      • 2.6. Вывод текста: echo против printf
      • 2.7. "Лишние" вызовы функций
      • 2.8. Контрольные замеры
        • 2.8.1. Чтение файла
        • 2.8.2. Вывод содержимого файла
      • 2.9. Выводы
    • Глава 3. Тестирование PHP-сценариев
      • 3.1. Программа работает, но не так, как нам нужно
      • 3.2. "Самодельные" точки останова
      • 3.3. Система автоматического тестирования
      • 3.4. Директива error_reporting
  • ЧАСТЬ II. БЕЗОПАСНОЕ ПРОГРАММИРОВАНИЕ НА PHP
    • Глава 4. Директива register_globals
      • 4.1. Почему опасно использовать register_globals
      • 4.2. Что делать, если register_globals отключена
    • Глава 5. Безопасность веб-приложений
      • 5.1. Сайт в опасности
      • 5.2. Два самых распространенных метода взлома
      • 5.3. Межсайтовый скриптинг
      • 5.4. SQL-инъекции
      • 5.5. Флуд
    • Глава 6. Аутентификация на PHP. Сессии
      • 6.1. Для чего нужны сессии
      • 6.2. Как работает механизм сессий
      • 6.3. Обход Cookies
      • 6.4. Сценарий аутентификации
    • Глава 7. Система защиты от автоматических регистраций
      • 7.1. Необходимость защиты
      • 7.2. Алгоритм работы системы защиты
      • 7.3. Реализация системы
      • 7.4. Усовершенствование системы
  • ЧАСТЬ III. РАБОТА С БАЗОЙ ДАННЫХ
    • Глава 8. Основы SQL
      • 8.1. Немного истории
      • 8.2. Преимущества SQL
      • 8.3. Как выглядят запросы
      • 8.4. Что такое база данных
      • 8.5. Создание таблиц
      • 8.6. Добавление записей в таблицу
      • 8.7. Обновление записей
      • 8.8. Выборка записей
      • 8.9. Удаление записей
      • 8.10. Встроенные функции
      • 8.11. Группировка записей. Сложные запросы
    • Глава 9. Серверы баз данных MySQL и SQLite
      • 9.1. MySQL vs SQLite: что лучше
      • 9.2. Функции для работы с MySQL
        • 9.2.1. Подключение к серверу MySQL
        • 9.2.2. Несколько MySQL-соединений
        • 9.2.3. Передача запросов серверу
        • 9.2.4. Работа с базой данных
      • 9.3. Функции для работы с SQLite
        • 9.3.1. Открытие базы данных
        • 9.3.2. Передача запросов
        • 9.3.3. Работа с результатом запроса
        • 9.3.4. Список PHP-функций для работы с SQLite
    • Глава 10. Полезные приемы при работе с базой данных
      • 10.1. Выбор кодировки
      • 10.2. Сортировка: вывод новинок
      • 10.3. Постраничный вывод таблицы
  • ЧАСТЬ IV. ФОРУМЫ И CMS, НАПИСАННЫЕ НА PHP
    • Глава 11. Форум phpBB
      • 11.1. Самый популярный форум
      • 11.2. Установка форума
      • 11.3. Установка языковых пакетов
      • 11.4. Панель администрирования форумом
        • 11.4.1. Вход в панель
        • 11.4.2. Управление форумами
        • 11.4.3. Общие настройки форума
        • 11.4.4. Настройка внешнего вида форума
        • 11.4.6. Чистка форумов
        • 11.4.7. Управление пользователями
          • 11.4.7.1. "Черные" списки
          • 11.4.7.2. Запрещенные имена
          • 11.4.7.3. Активация, присвоение званий и удаление пользователей
          • 11.4.7.4. Права модератора
        • 11.4.8. Массовая рассылка сообщений
        • 11.4.9. Ограничение доступа к форуму
      • 11.5. Полезные советы
        • 11.5.1. Изменение названий полей
        • 11.5.2. Поздравление пользователей форума с Днем рождения
        • 11.5.3. Расширение возможностей форума
        • 11.5.4. Вывод последних тем форума
        • 11.5.5. Сценарий "Кто на сайте"
    • Глава 12. Система управления содержимым сайта PHP-Nuke
      • 12.1. Управление содержимым сайта
      • 12.2. Установка PHP-Nuke
      • 12.3. Блоки
      • 12.4. Создание модулей
        • 12.4.1. Простой модуль
        • 12.4.2. Активизация модуля
        • 12.4.3. Работа с базой данных
      • 12.5. Некоторые полезные модули для PHP-Nuke
    • Глава 13. Система управления контентом Slaed
      • 13.1. Знакомство со Slaed
      • 13.2. Установка Slaed
      • 13.3. Базовая настройка Slaed
      • 13.4. Дополнительные темы оформления
      • 13.5. Модули для Slaed
      • 13.6. Создание собственного модуля
  • ЧАСТЬ V. ТОНКОСТИ ПРОГРАММИРОВАНИЯ НА РНР
    • Глава 14. Загрузка файлов на сервер
      • 14.1. Что нужно знать о загрузке файлов на сервер
      • 14.2. Реализация загрузки файла
      • 14.3. Загрузка нескольких файлов
      • 14.4. Проблемы при загрузке файлов
    • Глава 15. Отправка и прием почты
      • 15.1. Отправка почты средствами PHP — функция mail()
      • 15.2. Отправка писем с вложениями — класс HtmlMimeMail
        • 15.2.1. Отправка сообщения
        • 15.2.2. Проблемы при отправке сообщения
        • 15.2.3. MIME-типы
      • 15.3. Получение писем по протоколу POP3
    • Глава 16. Работа с RSS: получаем новости на сайт
      • 16.1. Краткие сведения о RSS
      • 16.2. Формат RSS-файла
      • 16.3. Написание сценария импорта новостей
      • 16.4. Подключение файла import.php к сайту
      • 16.5. Создание "граббера" новостей
    • Глава 17. Работа с сетевыми сокетами в PHP
      • 17.1. Еще раз о том, что такое сокет
      • 17.2. Использование сокетов
      • 17.3. Пример использования сокетов
      • 17.4. Блокирующий и неблокирующий режимы сокета
    • Глава 18. Использование FTP-функций
      • 18.1. Функции для работы с FTP
      • 18.2. Примеры использования FTP-функций
    • Глава 19. Мультимедиа в РНР
      • 19.1. Библиотека GD
        • 19.1.1. Получение информации об изображении
        • 19.1.2. Конвертирование графических форматов
        • 19.1.3. Вывод текста поверх картинки
        • 19.1.4. Прозрачность
      • 19.2. Изменение размера изображения
      • 19.3. Создание водяных знаков
      • 19.4. Расширения для работы с MP3
        • 19.4.1. Формат MP3
        • 19.4.2. Библиотека PEAR
        • 19.4.3. Вывод ID3-тегов
        • 19.4.4 Редактирование ID3-тегов
        • 19.4.5. Удаление тега
    • Глава 20. Интеграция галереи LiveJournal и вашего сайта
      • 20.1. Что такое "Живой" журнал
      • 20.2. Интеграция фотогалереи LiveJournal и сайта
      • 20.3. Настройка внешнего вида галереи
    • Глава 21. Протокол SOAP и распределенные системы
      • 21.1. Что это такое
      • 21.2. Представление вызовов и ответов в формате XML
      • 21.3. MS SOAP Toolkit 3.0
      • 21.4. WSDL-файлы
        • 21.4.1. Раздел Schema
        • 21.4.2. Раздел Message
        • 21.4.3. Раздел PortType
        • 21.4.4. Раздел Binding
        • 21.4.5. Раздел Service
      • 21.5. Класс SoapClient
        • 21.5.1. Общие сведения
        • 21.5.2. Конструктор __construct()
        • 21.5.3. Методы класса SoapClient
          • 21.5.3.1. Метод call()
          • 21.5.3.2. Метод doRequest()
          • 21.5.3.3. Метод getFunctions()
          • 21.5.3.4. Метод getLastRequest()
          • 21.5.3.5. Метод getLastRequestHeaders()
          • 21.5.3.6. Метод getLastResponse()
          • 21.5.3.7. Метод getLastResponseHeaders()
          • 21.5.3.8. Метод getTypes()
      • 21.6. Класс SoapFault
      • 21.7. Класс SoapHeader
      • 21.8. Класс SoapParam
      • 21.9. Класс SoapServer
        • 21.9.1. Конструктор класса
        • 21.9.2. Методы класса
          • 21.9.2.1. Метод addFunction()
          • 21.9.2.2. Метод fault()
          • 21.9.2.3. Метод getFunctions()
          • 21.9.2.4. Метод handle()
          • 21.9.2.5. Метод setClass()
          • 21.9.2.6. Метод setPersistence()
    • Глава 22. Регулярные выражения
      • 22.1. Нужно что-то найти…
      • 22.2. Язык регулярных выражений RegEx
      • 22.5. Управляющие конструкции
        • 22.5.1. Квантификаторы
        • 22.5.2. Альтернативный оператор |
        • 22.5.3. Скобки
      • 22.6. Псевдосимволы
      • 22.7. Практическое использование RegEx-функций
  • ЧАСТЬ VI. СЛОЖНЫЕ ПРОЕКТЫ
    • Глава 23. Сложные проекты. Шаблоны
      • 23.1. Организация файлов и каталогов проекта
      • 23.2. Выносим параметры в отдельный файл
      • 23.3. Подключение дополнительных файлов
        • 23.3.1. Инструкции include и require
        • 23.3.2. Альтернативный способ подключения сценариев
        • 23.3.3. Инструкции include_once и require_once
      • 23.4. Шаблоны
    • Глава 24. Многоязычность в PHP
      • 24.1. Многоязычность как средство увеличения посещаемости
      • 24.2. Как реализовать
        • 24.2.1. Перевод статической части
        • 24.2.2. Перевод страниц сайта
    • Глава 25. Шаблонизатор Smarty
      • 25.1. Что такое Smarty
      • 25.2. Установка Smarty
      • 25.3. Создание setup.php
      • 25.4. Разработка шаблонов Smarty
        • 25.4.1. Комментарии в шаблонах
        • 25.4.2. Переменные в Smarty
        • 25.4.3. Файлы конфигурации шаблонов
        • 25.4.4. Служебная переменная {$smarty}
        • 25.4.5. Модификаторы переменных
        • 25.4.6. Стандартные (встроенные) функции Smarty
          • 25.4.6.1. Функции {include} и {insert}
          • 25.4.6.2.Функция {foreach}
          • 25.4.6.3. Функции {if}, {elseif}, {else}
          • 25.4.6.4. Функция {capture}
          • 25.4.6.5. Функция {php}
          • 25.4.6.6. Функция {strip}
        • 25.4.7. Пользовательские функции Smarty
          • 25.4.7.1. Функция {assign}
          • 25.4.7.2. Функция {cycle}
          • 25.4.7.3. Функция {fetch}
          • 25.4.7.3. Функции {html_checkboxes} и {html_radios}
          • 25.4.7.4. Функция {html_image}
          • 25.4.7.5. Функция {html_select_date}
          • 25.4.7.6. Функция {html_select_time}
          • 25.4.7.7. Функция {html_table}
      • 25.5. Smarty для программиста
        • 25.5.1. Специальные переменные
        • 25.5.2. Полезные методы класса Smarty
  • ЧАСТЬ VII. ТЕОРИЯ И ПРАКТИКА ПРОФЕССИОНАЛЬНОГО РНР-ПРОГРАММИРОВАНИЯ
    • Глава 26. Объектно-ориентированное программирование в PHP
      • 26.1. Основы ООП
      • 26.2. Классы и объекты
      • 26.3. Конструкторы и деструкторы класса
      • 26.4. Наследование классов. Полиморфизм
      • 26.5. Возможности РНР 5
        • 26.5.1. Область видимости членов класса
        • 26.5.2. Абстрактные классы и методы
        • 26.5.3. Служебное слово final
        • 26.5.4. Клонирование объектов
        • 26.5.5. Обработка исключительных ситуаций
        • 26.5.6. Константы-члены класса
        • 26.5.7. Статические члены класса
        • 26.5.8. Оператор instanceof
        • 26.5.9. Итераторы
    • Глава 27. Продукты компании Zend
      • 27.1. Zend Engine
      • 27.2. Zend Platform
      • 27.3. Zend Optimizer
      • 27.4. Zend Guard
      • 27.5. Zend Studio
    • Глава 28. Пишем коммерческий сценарий
      • 28.1. Zend Guard: "за" и "против"
        • 28.1.1. Установка Zend Guard
        • 28.1.2. Быстрая защита сценария
        • 28.1.3. Дополнительные возможности защиты
        • 28.1.4. Как защищать PHP-приложения
      • 28.2. Zend Studio
        • 28.2.1. Установка Zend Studio
        • 28.2.2. Автодополнение кода
        • 28.2.3. Проверка синтаксиса
        • 28.2.4. Отладка
        • 28.2.5. Меню Tools и Project
        • 28.2.6. Файловый менеджер, инспектор кода и средство для работы с БД
        • 28.2.7. Информационные окна ZDE
        • 28.2.8. Встроенный FTP-клиент
        • 28.2.9. Какую версию покупать: Standard или Professional
  • Заключение
  • Приложение. Описание компакт-диска

Похожие лоты

Вход

В течение нескольких секунд вам придёт SMS с одноразовым кодом для входа. Если ничего не пришло — отправьте код ещё раз.
Это бесплатно, безопасно и займёт всего несколько секунд
Войдите с помощью своего профиля

Регистрация

Введите номер вашего мобильного телефона:
Войдите с помощью электронной почты или номера телефона
Войдите с помощью своего профиля

Восстановление пароля

Укажите адрес электронной почты, который вы использовали при регистрации
Нужна помощь? Напишите нам

Восстановление пароля

Инструкции по восстановлению пароля высланы на 
Нужна помощь? Напишите нам