PHP. Объекты, шаблоны и методики программирования

Мэтт Зандстра

За последние десять лет PHP буквально охватила объектно-ориентированная революция, причем это относится как к самим средствам языка, так и к разработчикам, использующим эти средства, и к приложениям, которые они создают. Теперь основной акцент делается на объектах и объектно-ориентированном подходе к проектированию. Существует еще один момент, связанный с этим и также прочно укоренившийся в современные методики разработки объектно-ориентированных приложений. Речь идет об использовании средств и методик, благодаря которым достигается успешное выполнение проекта, осуществляется эффективное управление группами разработчиков и повышается качество кода.

Книга начинается с обзора объектно-ориентированных возможностей PHP, в который включены важные темы, наподобие

  • определения класса,
  • создания объектов,
  • наследовании,
  • инкапсуляции методов и свойств.

Вы изучите также и дополнительные темы, такие как

  • статические методы и свойства,
  • абстрактные классы,
  • обработка исключений,
  • клонирование объектов,
  • пространства имен,
  • механизм замыканий и многое другое.

Издательство: Вильямс, 2011 г.

ISBN 978-5-8459-1689-1, 978-1-43-022925-4

Количество страниц: 560.

Содержание книги «PHP. Объекты, шаблоны и методики программирования»:

  • 16 Об авторе
  • 17 О техническом рецензенте
  • 18 Благодарности
    • 19 Предисловие к третьему изданию
    • 20 От издательства
  • 21 Часть I. Введение
  • 23 Глава 1. PHP: проектирование и сопровождение систем
    • 23 Проблема
    • 25 PHP и другие языки
    • 27 Об этой книге
      • 27 Объекты
      • 27 Шаблоны
      • 28 Практика
      • 29 Что нового в третьем издании
    • 29 Резюме
  • 31 Часть II. Объекты
  • 33 Глава 2. PHP и объекты
    • 33 Неожиданный успех PHP-объектов
      • 33 Вначале — PHP/FI
      • 34 Изменение синтаксиса: PHP 3
      • 34 PHP 4 и тихая революция
      • 36 Изменения приняты: PHP 5
    • 36 Взгляд в будущее
    • 37 Сторонники и противники: дебаты об объектах
    • 38 Резюме
  • 39 Глава 3. Основные сведения об объектах
    • 39 Классы и объекты
      • 39 Первый класс
      • 40 Первые несколько объектов
    • 41 Определение свойств в классе
    • 43 Работа с методами
      • 45 Создание метода конструктора
    • 46 Аргументы и типы
      • 47 Элементарные типы
      • 50 Уточнения типов объектов
    • 52 Наследование
      • 52 Проблема наследования
      • 56 Работа с наследованием
    • 61 Public, Private и Protected: управление доступом к классам
    • 65 Резюме
  • 67 Глава 4. Дополнительные возможности
    • 67 Статические методы и свойства
    • 71 Постоянные свойства
    • 71 Абстрактные классы
    • 73 Интерфейсы
    • 75 Позднее статическое связывание: ключевое слово static
    • 78 Обработка ошибок
      • 80 Исключения
    • 84 Завершенные классы и методы
    • 86 Работа с методами-перехватчиками
    • 90 Определение методов деструктора
    • 91 Копирование объектов с помощью метода __clone()
    • 94 Определение строковых значений для объектов
    • 95 Функции обратного вызова, анонимные функции и механизм замыканий
    • 99 Резюме
  • 101 Глава 5. Средства для работы с объектами
    • 101 PHP и пакеты
      • 102 Пакеты и пространства имен в PHP
      • 109 Пути включения файлов
      • 110 Автозагрузка
    • 112 Функции для работы с классами и объектами
      • 113 Поиск классов
      • 114 Получение информации об объекте или классе
      • 115 Получение информации о методах
      • 116 Получение информации о свойствах
      • 116 Получение информации о наследовании
      • 117 Вызов метода
    • 118 Интерфейс Reflection API
      • 118 Основные сведения
      • 119 Время закатать рукава
      • 122 Исследование класса
      • 123 Исследование методов
      • 125 Исследование аргументов методов
      • 126 Использование интерфейса Reflection API
    • 130 Резюме
  • 131 Глава 6. Объекты и методология проектирования
    • 131 Определение программного проекта
    • 132 Объектно-ориентированное и процедурное программирование
      • 136 Ответственность
      • 136 Связность
      • 136 Тесная связь
      • 137 Ортогональность
    • 137 Выбор классов
    • 138 Полиморфизм
    • 140 Инкапсуляция
    • 141 Забудьте, как это делается
    • 142 Четыре столпа
      • 142 Дублирование кода
      • 142 Класс, который слишком много «знал»
      • 143 На все руки мастер
      • 143 Условные операторы
    • 143 UML
      • 144 Диаграммы классов
      • 149 Диаграмма последовательности
    • 151 Резюме
  • 153 Часть III. Шаблоны
  • 155 Глава 7. Что такое шаблоны проектирования и зачем они нужны
    • 155 Что такое шаблоны проектирования
    • 158 Обзор шаблонов проектирования
      • 158 Имя
      • 158 Формулировка задачи
      • 158 Решение
      • 159 Результаты
    • 159 Формат «Банды четырех»
    • 160 Зачем используются шаблоны проектирования
      • 160 Шаблоны определяют задачи
      • 160 Шаблоны определяют решения
      • 160 Шаблоны не зависят от языка программирования
      • 160 Шаблоны определяют словарь
      • 161 Шаблоны проверяются и тестируются
      • 161 Шаблоны предназначены для совместной работы
      • 162 Шаблоны способствуют хорошим проектам
    • 162 PHP и шаблоны проектирования
    • 162 Резюме
  • 163 Глава 8. Некоторые принципы шаблонов
    • 163 Открытие шаблонов
    • 164 Композиция и наследование
      • 164 Проблема
      • 167 Использование композиции
    • 169 Разделение
      • 170 Проблема
      • 171 Ослабление связи
    • 173 Программируйте на основе интерфейса, а не его реализации
    • 174 Меняющаяся концепция
    • 175 Проблемы применения шаблонов
    • 176 Шаблоны
      • 176 Шаблоны для генерации объектов
      • 176 Шаблоны для организации объектов и классов
      • 176 Шаблоны, ориентированные на задачи
      • 176 Промышленные шаблоны
      • 176 Шаблоны баз данных
    • 177 Резюме
  • 179 Глава 9. Генерация объектов
    • 179 Генерация объектов: задачи и решения
    • 183 Шаблон Singleton
      • 184 Проблема
      • 184 Реализация
      • 186 Выводы
    • 187 Шаблон Factory Method
      • 187 Проблема
      • 190 Реализация
      • 191 Выводы
    • 192 Шаблон Abstract Factory
      • 192 Проблема
      • 194 Реализация
      • 195 Выводы
    • 197 Шаблон Prototype
      • 198 Проблема
      • 198 Реализация
    • 201 Но это обман!
    • 203 Резюме
  • 205 Глава 10. Шаблоны для программирования гибких объектов
    • 205 Как структурировать классы, чтобы достичь гибкости
    • 206 Шаблон Composite
      • 206 Проблема
      • 208 Реализация
      • 212 Результаты
      • 215 Выводы о шаблоне Composite
    • 216 Шаблон Decorator
      • 216 Проблема
      • 217 Реализация
      • 221 Результаты
    • 222 Шаблон Facade
      • 222 Проблема
      • 223 Реализация
      • 224 Результаты
    • 225 Резюме
  • 227 Глава 11. Выполнение задач и представление результатов
    • 227 Шаблон Interpreter
      • 227 Проблема
      • 229 Реализация
      • 236 Проблемы шаблона Interpreter
    • 236 Шаблон Strategy
      • 237 Проблема
      • 237 Реализация
    • 241 Шаблон Observer
      • 243 Реализация
    • 248 Шаблон Visitor
      • 249 Проблема
      • 250 Реализация
      • 254 Проблемы шаблона Visitor
    • 255 Шаблон Command
      • 255 Проблема
      • 255 Реализация
    • 260 Резюме
  • 261 Глава 12. Шаблоны корпоративных приложений
    • 261 Обзор архитектуры
      • 262 Шаблоны
      • 262 Приложения и уровни
    • 265 Небольшое отступление перед началом
      • 265 Шаблон Registry
    • 275 Уровень представления данных
      • 276 Шаблон Front Controller
      • 286 Шаблон Application Controller
      • 298 Шаблон Page Controller
      • 303 Шаблоны Template View и View Helper
    • 306 Уровень логики приложения
      • 306 Шаблон Transaction Script
      • 311 Шаблон Domain Model
    • 315 Резюме
  • 317 Глава 13. Шаблоны баз данных
    • 317 Уровень данных
    • 318 Шаблон Data Mapper
      • 318 Проблема
      • 318 Реализация
      • 331 Результаты
    • 332 Шаблон Identity Map
      • 332 Проблема
      • 333 Реализация
      • 335 Результаты
    • 336 Шаблон Unit of Work
      • 336 Проблема
      • 336 Реализация
      • 340 Результаты
    • 340 Шаблон Lazy Load
      • 340 Проблема
      • 341 Реализация
      • 343 Результаты
    • 343 Шаблон Domain Object Factory
      • 343 Проблема
      • 343 Реализация
      • 344 Результаты
    • 345 Шаблон Identity Object
      • 346 Проблема
      • 347 Реализация
      • 352 Результаты
    • 352 Шаблоны Selection Factory и Update Factory
      • 352 Проблема
      • 352 Реализация
      • 356 Результаты
    • 356 Что теперь осталось от Data Mapper
    • 358 Резюме
  • 361 Часть IV. Практика
  • 363 Глава 14. Хорошие и плохие методы работы
    • 363 Что осталось за рамками кода
    • 364 Изобретаем велосипед
    • 366 Хорошая игра
    • 366 Как дать коду крылья
    • 368 Документирование
    • 369 Тестирование
    • 370 Непрерывная интеграция
    • 371 Резюме
  • 373 Глава 15. Введение в PEAR и Pyrus
    • 374 Что такое PEAR
    • 375 Знакомьтесь — Pyrus
    • 376 Инсталляция пакета с помощью PEAR
    • 377 Каналы PEAR
    • 379 Использование пакета PEAR
    • 381 Обработка ошибок PEAR
    • 384 Создание собственного пакета PEAR
      • 384 Файл package.xml
      • 384 Элементы пакета
      • 386 Элемент contents
      • 389 Зависимости
      • 390 Настройка инсталляции с помощью phprelease
      • 391 Подготовка пакета к выпуску
      • 392 Настройка собственного канала
      • 392 Определение канала с помощью PEAR2_SimpleChannelServer
      • Управление PEAR-каналом
      • 393 с помощью PEAR2_SimpleChannelFrontend
      • 395 Обслуживание пакетов
    • 397 Резюме
  • 399 Глава 16. Генерация документации с помощью phpDocumentor
    • 399 Зачем нужно что-то документировать
    • 400 Инсталляция
    • 401 Генерация документации
    • 403 Комментарии DocBlock
    • 404 Документирование классов
    • 405 Документация на уровне файла
    • 406 Документирование свойств
    • 407 Документирование методов
    • 409 Создание ссылок в документации
    • 411 Резюме
  • 413 Глава 17. Контроль версий с помощью Subversion
    • 413 Для чего нужен контроль версий
    • 414 Установка Subversion
    • 415 Конфигурирование хранилища Subversion
      • 415 Создание хранилища
    • 417 Начало проекта
    • 421 Обновление и фиксация изменений
    • 425 Добавление и удаление файлов и каталогов
      • 425 Добавление файла
      • 425 Удаление файла
      • 425 Добавление каталога
      • 426 Удаление каталогов
    • 426 Разметка и экспортирование выпуска
      • 426 Тегирование проекта
      • 427 Экспортирование проекта
    • 427 Разветвление проекта
    • 431 Резюме
  • 433 Глава 18. Тестирование с помощью PHPUnit
    • 434 Функциональные тесты и модульное тестирование
    • 434 Ручное тестирование
    • 436 Знакомство с PHPUnit
      • 437 Создание контрольного примера
      • 438 Методы с утверждениями
      • 439 Тестирование посредством исключений
      • 440 Запуск наборов тестов
      • 441 Ограничения
      • 443 Имитации и заглушки
      • 446 Тесты, заканчивающиеся неудачей и достигающие цели
    • 448 Написание тестов веб-приложений
      • 449 Рефакторинг веб-приложения для выполнения тестов
      • 452 Простые веб-тесты
    • 454 Знакомство с Selenium
      • 454 Получение и установка Selenium
      • 455 Создание теста
    • 459 Несколько предупреждений
    • 461 Резюме
  • 463 Глава 19. Автоматическое построение с помощью Phing
    • 464 Что такое Phing
    • 465 Получение и инсталляция Phing
    • 465 Создание документа построения
      • 466 Задания
      • 468 Свойства
      • 473 Типы
      • 477 Задачи
    • 481 Резюме
  • 483 Глава 20. Непрерывная интеграция
    • 483 Что же такое непрерывная интеграция
      • 485 Подготовка проекта для непрерывной интеграции
      • 486 Непрерывная интеграция и контроль версий
      • 487 Модульное тестирование
      • 488 Документация
      • 488 Покрытие кода
      • 489 Стандарты кодирования
      • 490 Браузер PHP-кода
      • 491 Построение
    • 492 CruiseControl и phpUnderControl
      • 493 Инсталляция CruiseControl
      • 494 Инсталляция phpUnderControl
      • 496 Инсталляция вашего проекта
      • 499 Запуск phpUnderControl/CruiseControl
      • 500 Неудачное тестирование
      • 502 Уведомление об отказах
      • 503 Добавление собственных заданий построения
    • 506 Резюме
  • 509 Часть V. Заключение
  • 511 Глава 21. Объекты, шаблоны, практика
    • 511 Объекты
      • 512 Выбор
      • 512 Инкапсуляция и делегирование
      • 512 Разделение
      • 513 Повторное использование
      • 514 Эстетика
    • 514 Шаблоны
      • 515 Преимущества шаблонов
      • 516 Шаблоны и принципы проектирования
    • 517 Практика
      • 518 Тестирование
      • 518 Документация
      • 518 Контроль версий
      • 519 Автоматическое построение
      • 519 Непрерывная интеграция
      • 520 Что я упустил
    • 521 Резюме
  • 523 Часть VI. Приложения
  • 525 Приложение А. Дополнительные источники информации
    • 525 Книги
    • 526 Статьи в Интернете
    • 526 Сайты
  • 529 Приложение Б. Простой синтаксический анализатор
    • 529 Сканер
    • 537 Объект Parser
  • 551 Предметный указатель

Инструкция как скачать книгу Мэтт Зандстра: PHP. Объекты, шаблоны и методики программирования в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
PHP. Объекты, шаблоны и методики программирования
Рейтинг книги:
3 голоса
1563

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: