Автор: Sergey Zhuk
Издательство: Leanpub
Год: 2021-03-26
Страниц: 249
Язык: английский
Формат: pdf (true), rtf, mobi, epub
Размер: 10.1 MB
A practical guide to writing robust, maintainable, and bug resistant object-oriented PHP code, that covers advanced topics, concepts, and techniques of the object-oriented programming, starting with such basic terms as encapsulation and inheritance and ending with composition and design patterns.
Chapter 1 covers the fundamentals of the object-oriented programming: encapsulation, inheritance, and polymorphism. We will discuss the purpose of abstraction and inheritance, and why you should avoid using inheritance for code reuse. This chapter also covers such language specific features as traits and closures and their role in the object-oriented code. And at the end of the chapter, I will introduce such a powerful tool as Dependency Injection, different types of it and some code smells of its wrong usage.
Chapter 2 is fully devoted to SOLID principles. We will discuss each of them: the main idea behind the principle, how to apply it to your code and some problems that you can face following these principles blindly.
Chapter 3 is an introduction to an object-oriented design. It covers the well knows design principles such as:
Tell, don't ask
The Law of Demeter
YAGNI
Kiss
Dry
This chapter also covers some basic anti-patterns that you can meet in the code with poor design.
Chapter 4 opens the topic of the design patterns and composition. We will discuss the difference between inheritance and composition and when each of them is more appropriate to use. This chapter covers such design patterns as State, Strategy, Adapter and their comparison with the inheritance approach.
Chapter 5 describes the problem "I don't have the interface that I want." . We will cover situations when we need to make two incompatible interfaces work together and how to reduce the complexity of the subsystem and hide it behind the friendly interface.
Chapter 6 is about GRASP principles and Responsibility Driven Design. It is often a challenge to choose the right object for a particular job and to decide how the objects should interact with each other. Correct responsibility assignments are the key to a good object oriented design.
Who Is This Book For:
This is not a beginner’s guide to PHP. I assume that you are familiar with the language itself and have been using it in an object-oriented way for several years. The number of years does not matter. You can have a year of personal study and mastered the art of programming or ten years of maintaining the same application. Anyway, you know the basic concepts of the object-oriented programming, such as encapsulation, inheritance and polymorphism. Likely you have used a few of the modern MVC frameworks and even have studied their source code to go deeper.
Скачать PHP OOP Way