List of Figures

 

Chapter 1. PHP and modern software development

Figure 1.1. The cost-of-change curve. If the higher one is typical, agile methods are an attempt to flatten or at least lower it, as suggested by the dotted curve.

Figure 1.2. The “is-a” relationship

Figure 1.3. By analyzing the “is-a” relationship, we can focus on the behavior that is important.

Figure 1.4. In traditional testing, the tests are helpful only after the features have been implemented.

Figure 1.5. In test-driven development, the tests are doing useful work much earlier.

Figure 1.6. How some essential elements of agile development depend on each other.

Chapter 2. Objects in PHP

Figure 2.1. UML class diagram of the MessageView class with attributes, and the related Database class

Figure 2.2. Simple UML class diagram of the parent-child relationship between Document and NewsArticle

Figure 2.3. UML sequence diagram of program flow with an exception

Figure 2.4. “Patrolling the borders”: checking for errors and invalid input at the interfaces.

Chapter 3. Using PHP classes effectively

Figure 3.1. Protected methods in PHP are available only from parent or child (ancestor or descendant) classes.

Figure 3.2. How _get() and set() work

Figure 3.3. An abstract class with a concrete child class

Figure 3.4. A class that extends a class and implements a template interface

Chapter 4. Understanding objects and classes

Figure 4.1. UML class diagram of pseudo-real Boy and Girl classes