I’m just about to begin writing the third edition of my “[intlink id=”1584″ type=”page”]PHP 5 Advanced: Visual QuickPro Guide[/intlink]”. This new edition is tentatively titled “Advanced PHP and Object-Oriented Programming: Visual QuickPro Guide”, which better reflects the book’s focus. The book is written for intermediate PHP and Web developers, and covers a range of topics to further extend what you know into more real-world, complex situations.
The previous edition had 14 chapters, plus two that were made available as free PDFs (one on image generation, the other on PDF generation). The current plan for this edition is to cut four chapters, add four entirely new chapters, and the add and remove some chapter sections here and there. The book will also have a “Review and Pursue” section at the end of each chapter, with review questions and pursue prompts.
My goals for this edition of the book were (in no particular order):
- Emphasize and expand the OOP sections
- Add more content geared towards creating larger, more elaborate, professional Web applications
- Add new content based upon changes in technologies since the last edition (specifically changes in PHP from version 5.2 to 5.4)
- Update outdated content (including replacing old approaches with entirely new ones)
- Removing no longer critical content
- Removing content now discussed in other books of mine
For example, new PHP features that will be covered include type hinting, the Nowdoc syntax, and traits. New Web application information include discussions of Apache’s mod_rewrite and phpDocumentor, and a chapter on debugging tools, unit testing, and improving performance. The expanded OOP material includes a chapter on design patterns and a new chapter that creates a whole example using OOP.
With all that in mind, the initial Table of Contents is posted below. New content is in green. Chapters I’ve cut (not reflected below) include one on security techniques (now well covered by my other books), another on e-commerce (I’ve since written a[intlink id=”1578″ type=”page”]whole book[/intlink] on that), the PEAR chapter (replaced by one on the Zend Framework), and the Ajax chapter (well covered in many of my other books).
If you have any thoughts or suggestions, I’d love to hear them. Thanks!
- Chapter 1: Advanced PHP Techniques
- Multidimensional Arrays
- Advanced Function Definitions
- Type Hinting
- Anonymous Functions
- The Heredoc and Nowdoc Syntax
- Using printf() and sprintf()
- Chapter 2: Developing Web Applications
- Modularizing a Web Site
- Improved SEO with mod_rewrite
- Affecting the Browser Cache
- Better Documentation with phpDocumentor
- Chapter 3: Advanced Database Concepts
- Storing Sessions in a Database
- Working with U.S. Zip Codes
- Creating Stored Functions
- Displaying Results Horizontally
- Storing Binary Data
- Using PDO
- Chapter 4: Debugging, Testing, and Performance
- Debugging Tools
- Unit Testing
- Profiling Scripts
- Improving Performance
- Implementing Server Caches
- Chapter 5: Basic Object-Oriented Programming
- OOP Theory
- Defining a Class
- Creating an Object
- The $this Attribute
- Creating Constructors
- Creating Destructors
- Autoloading Classes
- Chapter 6: Advanced OOP
- Advanced Theories
- Inheriting Classes
- Inheriting Constructors and Destructors
- Overriding Methods
- Access Control
- Using the Scope Resolution Operator
- Creating Static Members
- Abstract Classes and Methods
- Creating Namespaces
- Using Traits
- Chapter 7: Design Patterns
- What are Design Patterns?
- [[Discussion of Specific Patterns TBD]]
- Chapter 8: Real-World OOP
- Catching Exceptions
- Extending the Exception Class
- Implementing MVC
- Using the Standard PHP Library
- OOP-based E-commerce
- Chapter 9: Example–CMS with OOP
- Chapter 10: Networking with PHP
- Accessing Other Web Sites
- Working with Sockets
- Performing IP Geolocation
- Using cURL
- Creating Web Services
- Chapter 11: PHP and the Server
- Compressing Files
- Establishing a cron
- Scheduling Tasks on Windows
- Using PHP’s Built-In Server
- Chapter 12: PHP’s Command-Line Interface
- Testing Your Installation
- Executing Bits of Code
- Creating a Command-Line Script
- Running a Command-Line Script
- Working with Command-Line Arguments
- Taking Input
- Chapter 13: XML and PHP
- What Is XML?
- XML Syntax
- Attributes, Empty Elements, and Entities
- Document Type Definitions
- Parsing XML
- Creating an RSS Feed
- XML Error Handling
- Chapter 14: Using the Zend Framework
- Installation
- Creating and Validating Forms
- Adding Captcha
- Implementing Authentication
- Using Zend_Mail