This book was written after working for several years as a consultant for Zend Technologies, prior to becoming our Technology Evangelist. There are hundreds of "build a PHP website" books out there. However, there are only a bare handful of books that go beyond that. So many PHP books have good information for getting started but end up stopping right when the problems start getting interesting. That's what I did with this book. I undertook a smaller group of topics, but took them to their conclusion, in most cases. Some of them, because it would become repetitive, I did not, but for the most part I started at the beginning and went to the end insofar as the end was a logical conclusion. So, end as in "I showed what I intended to show".
Here are the chapters with a brief summary of each.
Chapter 1: Networking and Sockets
Few people really get into the raw networking side of PHP, for good reason. But having a good understanding of how networking works is quite pertinent to a PHP developer. Here we go through different types of sockets and how you can handle network communication.
Chapter 2: Binary Protocols
Most PHP developers are really good with text. XML, HTML, JavaScript, etc. However, there is a world of integration that is available if you know how to integrate with binary network protocols. In this chapter we look at a few along with showing how you can easily hack a network protocol.
Chapter 3: Character Encoding
Think you know about things like UTF-8? I thought so too until I had to really get into it. Then I realized that I did not know it as well as I thought. Here we go through what character encoding is and get into mind-numbing detail about how to properly interact with it.
Chapter 4: Streams
Streams are probably one of the most underutilized features in PHP, though this is for good reason. Few people will ever really get into streams in much depth. That doesn't mean, however, that you have an excuse for not knowing them. After this chapter, you will.
Chapter 5: SPL
SPL is not one of the most underutilized features, it IS the most underutilized feature. Find out why.
Chapter 6: Asynchronous Operations with Some Encryption Thrown In
PHP does not do asynchronous execution; things like threading. That doesn't mean that your application doesn't need it, or that you can't do it. We look at a basic example here of what asynchronous execution could look like for your application.
Chapter 7: Structured File Access
Ever wanted to read a TAR file, or a WAV file, or something similar, but didn't know how to do it? Ever want to read a raw EXT2 partition? (hopefully not). We look at several examples of how to read several different binary file types and look at how to build your own?
Chapter 8: Daemons
Ever want to build PHP to run in the background? No? Good. You probably shouldn't. But there are cases where this could actually be quite pertinent. Here we go through some basics about how to build a PHP-based daemon.
Chapter 9: Debugging, Profiling, and Good Development
Do you think you're a good developer, but don't know how to use a debugger? Then you're not a good developer. In this chapter we go through some of the tools available to help make you a better developer.
Chapter 10: Preparing for Success
So you've built the next big thing... and it becomes the next big thing. Now you have a problem. In this chapter we go through a couple of concepts that can help alleviate the problems that occur when you become popular, or keep those problems from occurring in the first place.