Most helpful positive review
6 of 6 people found the following review helpful
A quality book from a quality author
on 27 August 2012
Disclaimer: I have no connection with the author or publisher.
It is because of that that I feel compelled to write a review in gratitude to David Powers' excellent book on PHP. I've been a programmer for many years starting as an MS Office user then programmer and graduating all the way to SQL server and .Net first VB.net then C#. Fed up with the Microsoft commercially-driven treadmill of enormous upgrades every 18 months, I googled 'best language to learn the web' and happened onto a list that had PHP at the top and various others after such as Ruby, Perl, Python, MS's ASP.net etc.. after much research, I got the overwhelming impression that LAMP (linux/apache/mysql/php) was the way to go, all open source and rather delightfully all free!
I then followed up with an extensive trawl through Amazon to find books with good ratings and I finally decided to go with this book (that I'm reviewing). I spent an entire week reading it from cover to cover and typing all the code, and all the html into Notepad++ (also free, but not a proper IDE), and I must say that I was hugely impressed with the depth of the examples.
The whole book consists of an accumulating tutorial in building a fictitious site around visiting Japan and setting up a site to blog about it. The site's front page is called Japan Journey and it has a screen to view the blog and - in an 'admin' section that you create step by step - a way to add blog entries, edit them, delete them and to even upload pictures. In other words all the skills you need to properly combine your web page(s) with the most useful ways of making html/php and mysql interact.
I am a big fan of tutorial books. What better way is there of learning than by being instructed every step of the way, what to do, how to do it, and most importantly why it's good to do it this way.
David Powers reminds me of Charles Petzold and I totally intend that to be a favourable comparison. He has an excellent and very concise writing style and he really knows what he's talking about.
You have to read this book very carefully because it has 0 filler. When in chapter 16 you need to re-use but slightly update a very elaborate php class that you created in chapter 6 he tells you 'As explained in Chapter 5, a check box is included in the $_POST array only if it has been selected.' and then 2 paragraphs later 'As you learned in Chapter 6 the error 0 indicates a successful upload.' This takes first rate planning and execution, to reuse something that has already been explained very thoroughly and to very briefly allude to where you can go back if you need any clarifications.
You have code downloads on David's website where all the files are included. If you have successfully managed to install XAMPP or MAMP or WAMP on your local machine, you won't want for anything to make it all work except for the email example. You could be doing all this with a hosting company somewhere and FTP but if your'e a beginner I suspect you'll be using localhost. I initially thought, "oh no, I hate having to deal with a profusion of files and versions why not just list out all the code in complete listings", but the flow in this book is really totally easy to follow and first rate. You download the examples and you can always check them, but you're building a site, so you are really adding stuff to the site all the time, and it's totally clear from the written instructions what the workflow is. This is much rarer than it should be (in my experience).
Along the route to building this Japan journey site, you will learn a whole load of stuff about how php works and what are very useful techniques for making your websites interactive. You learn very quickly about php's variables, loops, conditionals, includes/requires, arrays, the super global arrays, regular expressions (for these I recommend Ben forta's excellent primer, Regular Expressions in 10 minutes) and even classes, which are always considered super advanced in any programming language. There is extensive coverage of MySQL and how to interact with it. A dynamic website, is really synonymous with a website that 'talks' in 2 directions to some kind of database. It's these chapters that are really the meat of the book.
I would sum up by saying the following.
David Powers is an excellent writer who really knows his stuff, he has clearly spent an age putting together a quality tutorial on php in the form of a full-length book. It is very coherent and hugely instructive. If you work your way through it, you will have an excellent introduction to php.
A caveat about all this.
Even though David has written an excellent book, I suspect that there are more robust ways to add your php scripts to the pages you're trying to make interactive (i.e using your own classes to automate repetitive code, or even frameworks such as Zend/Cake or symfony) but this is just to indicate that this book is not about frameworks, nor about jquery or all sorts of other technologies, it's an excellent and quite thorough introduction to making your web pages dynamic with the help of html/css/php and mysql via Apache. I think you could easily do with reading it more than once, as it has a stack of content to get your head around.
Final quick mention.
I watched the David Powers php video on Vid2Brain and which covers a couple of chapters of this book (particularly how to make forms alive) and I found it very helpful indeed.