Review: PHP Application Development with NetBeans

Recently I've laid my hands on a copy of "PHP Application Development with NetBeans" by M A Hossain Tonu (www.PacktPub.com). It appeared to be a really nice reading. One of those where it's hard to put the book down until the end. It must be valuable as for beginners as for experienced NetBeans users. I, personally, have been using NetBeans for about 4 years and still find in the book the features I wasn't aware about or unfairly ignored for so long. Yeah, NetBeans is like an iceberg. At the first glance it looks quite simple, but the deeper you are, the more layers you discover. After years of usage you still can run into an overlooked tool which remarkably boosts your coding productivity. In order to avoid the case "Why didn't I use it for all this time?!", I would even call it as a must-read book for anybody working with NetBeans. Besides, covering the common facilities of NetBeas the books provides comprehensive input regarding automated-testing flow, version control integrated tools on Git example, PHPDoc practices and API-documentation generation.

The book is nicely structured. My kudos to the author. Every subject adheres the pattern: task, solution, what we have learned. That's quite easy to follow. Oh, I've got liked to that lively trick of using subsections such as "Time for action", "What just happened?", "Have a go hero", "Pop quiz" that prevent you of getting lost during the reading. I will definitely recommend the book to my colleges.


A bit of fly in the ointment

All over the book the author focuses on the Netbeans facilities meant for PHP only. That makes sense. But in practice we don’t do just PHP coding, but web-development. And NetBeans provides comprehensive environment which covers all our needs for web-development including HTML, XML, CSS (with plugins CoffeeScript, TypeScript and so on). Well, the authors himself shows study cases using JavaScript, jQuery, CSS and HTML. Thus, for a book about NetBeans I would expect some input regarding HTML refactoring, CSS auto-completion, JavaScript code templates and so on. Besides, introductions to popular plugins such as Prefixr and ZendCoding would be most welcome. By the way, as for plugins coverage, Git and Selenium Module for PHP are good choices, but what about phpcsmd or, let's say, NetBeans UML?

I've been a bit confused to find at the end of the book a chapter not really connected to the main thread (NetBeans IDE). Don't get me wrong, that's a pretty good introduction to the domain-driven design, concise and easy to grasp even for a beginner. It would make a nice part of a book about programming architecture, but doesn't really belong to this one. I would rather take some code example and show refactoring facilities of NetBeans in details.