Matt: November 2005 Archives

I currently write php code for a living. I'm the author of an e-commerce package... it's second gen, and it's good, but I'm about to begin work on the third gen. Something marvelous. Something I want to be so good that it owns the market. I'm not sure if I want it to be OSS or not, or maybe mixed somehow, but I want it to rock. I'm thinking I'd like to release it OSS but with some paid-for plugins. My 2nd gen code was OSS for a while, before I realized I didn't have time to keep up with the "free support" that was wanted and I wasn't real proud of the issue the code had. I sort of revamped it and have been toying with commercial release, but I really want to do it over again. Yes, this will be my 3rd from-scratch e-commerce store implementation, but my skills have grown by leaps and bounds and I think I can produce something truly remarkable now. I have the experience both as a coder and with people USING the software. Anyhow, my 2nd gen stuff netted me some consulting work which has kept me busy as I advanced my 2nd gen code.

So I'm often asked by people who know what I do: how do I learn? If you have technical experience, particularly some sort of formal software engineering/CS training, then you should head straight for this book: Advanced PHP Programming by George Schlossnagle. It's a fantastic book, but you need some chops before you can absorb it all. Since my own background with "real" code is straight C, not OO languages, it's new exposure for me. I've toyed with Java a smidge, but never written anything of import. But this book is fantastic. It's not for learning basics or syntax, but for someone with programming experience, it is truly a pithy PHP Bible of sorts, and I highly recommend it if you want to write professional PHP code. Schlossnagle is impressive in that he eschews evangelizing any particular philosophy. He covers OO techniques, but admits that they simply add excessive complexity in many cases, for example; many PHP evangelists seem to think that nothing should be implemented in a non-OO fashion.

I've been trying out different pieces of blogging software. I think I'm going to stick with MT. So this post is sort of... irrelevant to that. Although it's still a bug with trans-sids in PHP. Still, for posterity, I'm moving this and other blog entries from the old block in.