П’яте видання цієї популярної книги повністю оновлено для PHP 7: зокрема, замінено менеджер пакетів PEAR на Composer, а також додано новий матеріал про Vagrant і стандарти PHP. Вона дає міцну базу з підтримки об’єктів у PHP, а далі розвиває цю основу, щоб прищепити ключові принципи проєктування програмного забезпечення, і вже потім розглядає інструменти та практики, необхідні для розробки, тестування й розгортання надійного коду.
PHP Objects, Patterns, and Practice починається з розгляду об’єктно-орієнтованих можливостей PHP. Вона знайомить із ключовими темами, зокрема оголошенням класів, наслідуванням, рефлексією та багатьом іншим.
Наступний розділ присвячено патернам проєктування. У ньому пояснюються принципи, які роблять патерни такими потужними. Книга охоплює багато класичних патернів проєктування та містить розділи про корпоративні й бази даних патерни.
Останній сегмент книги розглядає інструменти та практики, які допоможуть перетворити чудовий код на успішний проєкт. У цьому розділі показано, як керувати кількома розробниками та релізами за допомогою git, як керувати збірками й залежностями за допомогою Composer. Також досліджуються стратегії автоматизованого тестування та безперервної інтеграції. У сукупності ці три складники: основи об’єктів, принципи проєктування та найкращі практики допоможуть читачеві створювати елегантні й надзвичайно надійні системи.
PHP Objects, Patterns, and Practice:
– Описує та демонструє вбудовані об’єктно-орієнтовані можливості PHP
– Розкладає на складові принципи об’єктно-орієнтованого проєктування, пояснюючи ключові патерни за допомогою практичних прикладів.
– Обговорює інструменти та практики, необхідні для розробки, тестування й розгортання зразкових застосунків.
Чого ви навчитеся:
– Як працювати з основами об’єктів: писати класи й методи, створювати екземпляри об’єктів, формувати потужні ієрархії класів через наслідування.
– Освоїти розширені можливості об’єктно-орієнтованого програмування, зокрема статичні методи й властивості, керування умовами помилок через винятки, а також створення абстрактних класів і інтерфейсів.
– Дізнатися про нові об’єктно-орієнтовані можливості, представлені в PHP 7, і зрозуміти, чому вони важливі для вашого коду.
– Розуміти та застосовувати принципи проєктування, щоб ефективно використовувати об’єкти й класи у ваших проєктах.
– Дізнатися про патерни проєктування, їхнє призначення, структуру та базові принципи, що ними керують. Відкрийте набір потужних патернів, які можна впроваджувати у власних проєктах.
– Дізнатися про інструменти та практики, які допоможуть гарантувати успішність проєкту: модульне тестування; системи керування версіями, збірка, встановлення та керування пакетами; а також безперервна інтеграція.
Огляд змісту
Про автора ……………………………………………………………………………………….xxi
Про технічного рецензента ……………………………………………………………………..xxiii
Подяки ……………………………………………………………………………………………….xxv
Вступ …………………………………………………………………………………………………..xxvii
Частина I: Об’єкти …………………………………………………………………………. 1
Розділ 1: PHP: проєктування та керування ……………………………………………………. 3
Розділ 2: PHP та об’єкти ……………………………………………………………………….. 9
Розділ 3: Основи об’єктів …………………………………………………………………………. 15
Розділ 4: Розширені можливості …………………………………………………………………. 47
Розділ 5: Інструменти для об’єктів ……………………………………………………………………………. 99
Розділ 6: Об’єкти та проєктування ……………………………………………………………….. 133
Частина II: Патерни …………………………………………………………………… 155
Розділ 7: Що таке патерни проєктування? Навіщо їх використовувати? ……………………………… 157
Розділ 8: Деякі принципи патернів ………………………………………………………… 165
Розділ 9: Генерація об’єктів ………………………………………………………………… 179
Розділ 10: Патерни для гнучкого об’єктного програмування ………………………………. 211
Розділ 11: Виконання та представлення задач ………………………………………. 235
Розділ 12: Підприємницькі патерни ……………………………………………………………… 277
Розділ 13: Патерни для баз даних ……………………………………………………………….. 327
Частина III: Практика ………………………………………………………………….. 375
Розділ 14: Добра (і погана) практика ………………………………………………………. 377
Розділ 15: Стандарти PHP ……………………………………………………………………. 385
Розділ 16: PHP: використання та створення компонентів за допомогою Composer ………………. 399
Розділ 17: Керування версіями за допомогою Git ……………………………………………………….. 411
Розділ 18: Тестування за допомогою PHPUnit ……………………………………………………………. 435
Розділ 19: Автоматизована збірка за допомогою Phing …………………………………………………. 465
Розділ 20: Vagrant ………………………………………………………………………………. 487
Розділ 21: Безперервна інтеграція …………………………………………………………. 497
Розділ 22: Об’єкти, патерни, практика ……………………………………………………. 525
Розділ 23: Додаток A: Бібліографія ……………………………………………………… 535
Розділ 24: Додаток B: Простий парсер ………………………………………………… 539
Іменний покажчик ……………………………………………………………………………………………………… 565