Apr 24, 2008

PHP Tuturial In Action: Objects, Design, Agility


This book’s purpose involves a kind of bigamy. It introduces state-of-the art objectoriented design principles, patterns, and techniques. Then it weds these to two different partners. The first partner is PHP, the programming language. The second partner is the PHP programmer’s everyday work.

More specifically, this book is about handling and implementing these principles, patterns, and techniques in PHP with its specific syntax and characteristics. It is also about how to apply them to the specific and common challenges of web programming.

Who should read this book?
This book is for programmers who develop applications in PHP and want to learn modern object-oriented practices, principles, and techniques, and how to apply them to the everyday challenges of web programming.
It is not a beginner’s book in PHP; it presupposes a minimum of familiarity with PHP—or experience in other programming languages—and with the basic ideas and challenges of web programming.

How this book is organized
The book is divided into four parts. Parts 1 and 2 introduce the principles, patterns, and techniques mentioned initially and demonstrate how they can be implemented in PHP. Part 1 introduces and develops the subjects of object-oriented programming and design. Part 2 deals with unit testing and refactoring.

Parts 3 and 4 apply the material from the first two parts to the everyday challenges of web programming. Part 3 is about the web interface, while part 4 deals with databases and data storage.

Part 1: Basic tools and concepts
Part 1 moves gradually, chapter by chapter, from the nuts and bolts of object-oriented programming in PHP to the more conceptual subject of object-oriented application design.
Chapter 1 introduces and discusses the pros and cons of PHP and agile practices.
Chapter 2 and chapter 3 deal with the mechanics and syntax of object-oriented programming in PHP. Although objects and classes are ultimately inseparable subjects,
chapter 2 focuses mostly on object features and chapter 3 on class features.
Chapter 4 discusses why objects and classes are a good idea, how they relate to the real world, and how we can tell the difference between good and bad object-oriented designs.
Chapter 5 is about the basic class relationships—inheritance, association, and composition— and the role of interfaces in program design.
Chapter 6 is where we start to go into object-oriented design in earnest. It deals with object-oriented principles that serve as general guidelines for design.
Chapter 7 introduces the subject of design patterns—recurrent solutions to common design problems—and describes some of the most common ones.
Chapter 8 shows how design principles and patterns work in the context of an extended example: date and time handling.

Read more and Download

0 comments: