Exposing streamable resources, whether remote network I/O or local data sources, allows your extension to hook into the core data manipulation functions and avoid reimplementing the tedious work of descriptor management and I/O buffering. This makes it more useful, and more powerful when placed in a userspace setting.
The next chapter will finish up the streams layer by taking a look at filters and contexts that can be used to alter the default behavior of streams, and even modify data en route.
The PHP Life Cycle
Variables from the Inside Out
Setting Up a Build Environment
Your First Extension
Working with Arrays and HashTables
The Resource Data Type
Startup, Shutdown, and a Few Points in Between
Diverting the Stream
Configuration and Linking
Setting Up a Host Environment
Appendix A. A Zend API Reference
Appendix B. PHPAPI
Appendix C. Extending and Embedding Cookbook
Appendix D. Additional Resources