Practical CakePHP Projects Paperback – Oct 22 2010
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
About the Author
Richard K. Miller graduated from Brigham Young University in Utah with a degree in business management, but has been interested in technology since he began computer programming at age 10. His experience includes web programming, Internet marketing, and new media strategies. He is the developer of several MediaWiki extensions and WordPress plugins, including the widely- used What Would Seth Godin Do plugin.
Top Customer Reviews
Anyways the content and project examples of the book are good, and if you are an experienced PHP developer you should be able to spot the errors and fix them yourself or figure out what you are doing.
Hope this review help someone.
Most Helpful Customer Reviews on Amazon.com (beta)
Honestly, the first impression of the book isn't great (stick with me though, it gets much better). First, as a member of the core CakePHP team, it's always a bit disappointing to see a book coming from people I'm not familiar with. I'd suggest prospective authors get their feet wet contributing to the community in a significant way before moving straight on to commercial publishing. The lack of community interaction shows in the first chapter-it's essentially a rehash of material that is better found in CakePHP's official online documentation. It's going to be more up to date, and there's really no reason to have it in the book.
You'll probably want to skip right to chapter 2, where the title of the book comes into play - actual projects created in CakePHP. In general, the specific project chapters are technically accurate and easy to follow. Newcomers to the CakePHP field will enjoy the examples and code they can pick through to better see the big picture.
Having said that, some chapters seem much more relevant than others. For example, leading out with a blog application (which is usually the first example new users are pointed to in the official documentation) seems a bit redundant. They don't cover much new ground there, focusing on vanilla MVC interactions. There's a bit of a diversion into the creation of RSS feeds, but that's more or less covered in the official manual as well.
The following chapter covering a simple e-commerce application is similarly uninteresting. More vanilla MVC, peppered with a bit of Google Checkout and PayPal "integration" at the end, which unfortunately only amounts to rendering some buttons that hand users along to their respective payment engines.
New users may appreciate these chapters, but you'll probably find comparable overviews of Cake's underpinnings in blogs, the CakePHP Bakery, and in the official manual.
The remaining chapters of the book (4-13) is where the book really shines. Project examples are varied, and each idea is inviting and innovative:'
A message forum webservice
Google maps for traveling salesmen
A Twitter/Google translator mash-up
Unit Testing (not so much, but stay with me)
An ACL-enabled control panel
Internationalization using behaviors
Custom automagic fields
Custom view tags integrated with plugins
"Dynamic Data Fields" (not that CakePHP specific, but interesting to some)
Captcha (which is more of an example with controller/component callbacks)
My impression of the remaining chapters was positive. The steps are easy to follow and seem well-explained to me. The code inserted onto the printed page gets a big hefty in places (three consecutive pages in chapter 9), but that's to be expected in some instances, I suppose. It's a programming book, after all.
Best practices seem to be evident as well - keeping your models thick and your controllers thin, not repeating code, and following CakePHP convention in order to take advantage of automagic are all present.
Aside from the rehash that is the introduction and first few chapters, the authors seem to avoid that in the rest of the book. Each chapter is atomic enough to pick up on its own (more or less), yet you don't have to be re-introduced to covered topics each time you move on.
Putting my own personal grudge of people publishing before contributing to the core effort aside, I'd recommend the book to users who are getting started with CakePHP. Experienced users have probably seen most of what's here, but new users will enjoy example after example of good CakePHP code in interesting, practical projects.
The ecommerce chapter gives a very simple integration of Google Checkout and Paypal which is prone to security vulnerability using simple apps like Firebug (not optimal at all!). The last chapter creates a very easily hackable CAPTCHA using ASCII art and totally violates the DRY concept.
There is even a chapter on creating a blog (which is less in depth than the CakePHP blog tutorial on CakePHP.org)...
A lot of the code samples in this book are also poorly written -- some controllers that are like 150 lines should really be 30 when written out properly. For anyone wanting to learn Cake, I'd recommend David Golding's book for a firm grasp that goes in depth but also teaches you concepts and methodologies. TERRIBLE book!
The instructions in the book fail to cover most of the files needed to make their applications work. Worse yet, in all these cases they don't even make mention of the existence of these files.
Readers will have to play detective and search through the source code available from the book's companion website to find the missing files.
On the brighter side, having to research all the files and code for each tutorial is an exercise in itself. Though no credit should be given to the authors for this.
This book should have never been published.
It's a shame the are no good published works for beginners wishing to learn the Cake framework.
There is evidence of best practices by following Cake convention and auto magically providing thin code snippets - straight to the point. E-commerce usually is a difficult topic to be treated fully in a chapter and trying to do so is like killing an elephant with a kitchen knife. I found the way the e-commerce topic is treated to be a bilk, but hey! the topic is usually for a whole book or more pages than treated in this book. Although, there is no need to treat more than a checkout payment topic - Surprising the book tries to treat more than one payment system. I appreciate the extra effort the authors take to cover this subject.
The rest of the book proceeds through the various web development topics that certainly makes it far better than any other book written on Cake in the market. It includes projects topics such as e-commerce, Message Forum Web Services, Google Maps and the Travel Salesman, A Twitter/Google translator mash-up, Unit Testing, An ACL-enabled control panel, Internationalization using behaviours, A Cake Control Panel, Translating Stories, Dynamic Data Fields, Captcha, and so on which are quite interesting. However, these topics cover the framework' advanced features with the necessary profundity that many developers, even those who would class themselves beyond intermediate, will get something practical out of the book.
By and large, I found the book to be brilliant for its target audience of beginning to intermediate Cake programmers (It makes you not to be afraid of using a framework for developing PHP) and still very valuable to experienced developers. Thus, I recommend it without hesitation for programmers who are familiar with some PHP but know only a modest Cake. Experienced developers should purchase it for its excellent coverage of the interesting topics aforementioned.
Finally, I will encourage the authors to contribute some of the practical projects /components to the Cake foundation - official website[...].
Look for similar items by category
- Books > Computers & Technology > Computer Science
- Books > Computers & Technology > Programming > Languages & Tools
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Computers & Technology > Software
- Books > Computers & Technology > Web Development > Programming