Reading List for Aspiring PHP Developers
A few years ago I started buying tech books on every subject I had a remote interest in. While I still have yet to read all the books I've had an interest in, I've read many specific to Web Development and I have some recommendations to those who are just starting out. I'll break this down into sections, I'll be starting with Basic PHP & MySQL and then branch into specific subjects. Reading these books will NOT make you a rockstar developer, but it wont hurt your ability to become one. If this post turns out to be of value I may convert it to a Page at a later point, I'll also be linking to all of these via Amazon.
Getting Started -
- PHP and MySQL Web Development by Luke Welling and Laura Thompson (I started with the first edition of this book)
- HTML and CSS: The Good Parts by Ben Henick (because you can't get away from front-end development)
- JavaScript: The Good Parts by Douglas Crockford (awesome book for JS)
Advanced PHP -
These cover various topics, please pick and choose on what you feel you need to learn. Exceptions are starred and bolded
- Essential PHP Security by Chris Shiflett (A good primer on PHP Security)
- php|architect's Guide to Date and Time Programming by Derick Rethans (this has always been a difficult topic for me, Derick's book really helped)
- php|architect's Guide to Web Scraping by Matthew Turland (Awesome book talking about web scraping)
- * PHP Objects, Patterns, and Practices by Matt Zandstra (This is a must for any serious developer)
- You want to do what with PHP? by Kevin Schroeder (Good book on very advanced and low level Concepts, read with caution)
Front-End -
- HTML5: Up and Running by Mark Pilgrim
- High Performance Websites by Steve Souders (this book and the next will get you doing things right on your site for performance and caching)
- Even Faster Websites by Steve Souders
Database (MySQL) -
- MySQL 5.0 Certification Study Guide by Paul DuBois (very comprehensive book that actually reads as a much better manual)
- High Performance MySQL by Baron Schwartz (this covers a lot of good topics for most implemtations)
- SQL Antipatterns by Bill Karwin (sometimes it's easier to learn what not to do rather than what to do)
Database (Document/NoSQL) -
- Cassandra: The Definitive Guide by Eben Hewitt
- CouchDB: The Definitive Guide by J. Chris Anderson, Jan Lehnardt, Noah Slater
- MongoDB: The Definitive Guide by Kristina Chodorow & Michael Diroff
Operations -
- Web Operations: Keeping the Data On Time by John Allspaw and Jesse Robbins (this is an excellent read and covers a lot of interesting topics)
- Cloud Application Architectures by George Reese (have yet to find time to finish this but it gives a good overview of the EC2 stack)
Advanced Programing Topics -
- The Pragmatic Programmer by Andrew Hunt and Dave Thomas (this is a must for everyone)
- Refactoring by Martin Fowler
- Patterns of Enterprise Application Architecture by Martin Fowler (awesome patterns and ideology book)
- Code Complete 2 by Steve McConnell
- Domain Driven Design by Eric Evans
Contributing to and/or Extending PHP
- C Programming Language by Brian Kernighan and Dennis Ritchie (Awesome book that will teach you enough C to be dangerous)
- Extending and Embedding PHP by Sara Golemon (Best Extension writing book out there, downside is it's a bit dated and the author has yet to do another edition)
That should be enough of a list to keep anyone busy reading for a few months (if not at least a year or so.) By all means if you have a book you recommend, list it with the name of the author in the comments and give a short blurb about why. I'll be watching the comments and I'll add in where applicable.
PatternsForPHP.info
So I have this website I registered a while ago, http://patternsforphp.info, I originally started importing Patterns from the site I was trying to save, which was the .com that Padraic Brady used to host. It's been a long time since I've been able to work on the site, since I registered the site I've moved twice, worked countless hours, drove almost as many hours (from when I was working in Knoxville) and have had life changes come left and right. Well this stands no more, tonight I added Pattern definitions for Facade, cleaned up the entry for Registry, and started working on the categories that belong on the site.
Here comes the reason I'm blogging this though, I can't do this by myself and here's what I need from you all to help me along in documenting and creating a PHP Pattern Repository:
- Encouragement, and the occasional fire under my backside.
- Reviews.
- New ideas and areas where my site is lacking.
Basically all the stuff that a community driven site needs, I'm not asking anybody to help me author the patterns (I'm already pushing on some of my coworkers to aide me there) however I wouldn't turn it down either. So please if you have a few minutes go look, register, make comments, add in structure and with any spare time I have I'll add to the site and hopefully together we can get it up to a decent level to where it stands as an established repository of knowledge.