FlazX | Browse Computer Book | Community Board | Links | Blog | Login
Google
Web flazx.com


CakePHP Application Development



eBook Information




CakePHP Application Development
ISBN  1847193897
Release Date  30 June 2008
Category  PHP
This book @Amazon  View

Google Search
Google
Web flazx.com


In Detail

Cake is a rapid development framework for PHP that uses well-known design patterns and provides a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss of flexibility. It means you can code faster, your code is better, and it makes writing Web 2.0-style apps a snap.

This book offers step-by-step instructions to learn the CakePHP framework and to quickly develop and deploy web-based applications. It introduces the MVC pattern and coding styles using practical examples. It takes the developer through setting up a CakePHP development and deployment environment, and develops an example application to illustrate all of the techniques you need to write a complete, non-trivial application in PHP. It aims to assist PHP programmers to rapidly develop and deploy well-crafted and robust web-based applications with CakePHP.

What you will learn from this book?

Develop well-structured applications faster, using CakePHP's MVC Install and set up CakePHP Create and configure your database to build a bookmark manager interface step by step Build a model that that integrates with your database and provides basic features to your application: inserts, updates, deletes, searches, and relationships Create views that present the user interface in an attractive, organized, and maintainable way Develop controllers to interact with model classes, use callback functions, and create reusable components Prototype applications fast using scaffolding to auto-generate user interface code Create custom user interfaces using layouts, elements, helper classes, and CakePHP's FormHelper Build complex data models with multiple related tables, using Cake associations Enhance your data models by adding new functionalities like user authentication and data validation Automate repetitive tasks and speed up development using shells Reduce the amount of code you write yourself using Bake to automatically generate essential code based on your database design Add interactivity using JavaScript and AJAX Work with user pages, search, pagination, and RSS

Approach

This book starts by installing Cake and building our first application, then looking at each main component of a CakePHP application in detail. We then learn how to build Web 2.0 style applications quickly using a case study application. The book is packed with example code and demo applications, so that you can see techniques in action.

Who this book is written for?

If you already know PHP and want to develop cutting-edge Web 2.0 applications, or see how to write code in a faster, more productive way, then this book is ideal for you.



User review
Hire an editor!
I bought this book based on the reviews here. It was the highest rated CakePHP book on Amazon at the time so I figured I couldn't go wrong. I was a little wrong about that,,.

The book is pretty easy to follow, and it does a good job introducing you to how CakePHP works and talking you through using the MVC pattern. The reason I gave it such a low rating is because of the code typos that litter the pages and all of the terrible, terrible grammar throughout. It's as though the author didn't speak English natively and the editors didn't bother to fix anything! What's worse, some of the concepts in the book are stated exactly backwards; a read headache for the beginner.

If you already know PHP to some degree and are at least familiar with CakePHP, the book is pretty helpful for solidifying ideas. It's probably one of the better books I've read on the topic in terms of the order in which they teach you and how it's described. But, if you're new to PHP or CakePHP, don't start with this book; you'll be pulling your hair out trying to figure out where the typos in the code are and interpreting the text.

Overall, I'm happy I picked the book up. It's the second one I've been reading and it's helped me make more sense of how some of the components work, but if you're new and you just want to learn how to use CakePHP, you should consider looking elsewhere, or at least reading The Manual on their website first.

User review
Excellent way to learn CakePHP
Given the fact there is not much out there to learn from, this book is a welcome source of huge amounts of knowledge. I followed the tutorials almost from start to end and the resulting application has been a continual source of reference as I embark on my first 'real' application. Being new to frameworks, I found this book to give a good foundation as well. I would consider it a key reference for anyone wanting to learn CakePHP.

User review
Good introduction to cakephp
Having had some experience developing with PHP, I decided to look around for a PHP framework. I was at the point of starting to think about developing reusable modules for handling common tasks that I had run into (user authentication, form handling, database calls etc,,) and so it seemed logical to see if anyone had developed something along those lines already. CakePHP seemed to fit the bill perfectly - a PHP framework built by a dedicated group of developers using best software practices - but the documentation I found online was a bit lacking, especially to get past the initial hurdles; so I purchased both CakePHP books available at the current time (8/2008): this one and `Beginning CakePHP` from Apress.

This book was exactly what I was looking for, and got me up to speed with the basic CakePHP mvc paradigm, and how to build a basic CakePHP application. I particularly liked the format of the book and the way the code was presented - after every new piece of code is introduced and run there is a paragraph called `what just happened?` that steps line by line through the code (no matter how basic it may seem to a seasoned CakePHP developer). I wish more programming books would follow this approach, because it makes sure that the reader knows what's going on every step of the way, even if something was a bit unclear earlier. On a side note, I found the Apress much more confusing in that regard, as if you glazed over something at any point, it became really hard to comprehend any of the chapters that followed. (not to mention the author's tendency to 'be clever' and use things like PHP shorthand notation for echo, use the PHP function 'compact' with the CakePHP 'set' function to pass data to the view etc,,. all little things that unnecessarily add hurdles for the novice's comprehension).

Anyway, I enjoyed this book a lot, it gave me the CakePHP basics and I now feel a lot more comfortable browsing the online CakePHP documentation. If there's one negative I have, it's the AJAX chapter which I had a hard time following. But I haven't found a good CakePHP AJAX example online either, so I've gone back to learning some basic PHP/ajax first in the hope that CakePHP's ajax helper will make more sense after. AJAX is just a small section in the `advanced topics` of this book though so it's probably a bit much to expect the subject to be done justice in such a short space.

As a primer on CakePHP for someone familiar with the basics of PHP and web database development however, this book is ideal.

User review
Good introduction, but a little sloppy and incomplete
As the first book to come out on CakePHP, there was a lot of pressure on this title to be really strong. On the whole, it has pretty good coverage of the topic, but the flow of the title is undermined by shoddy editing.

= The Good =
This title is a pretty decent introduction to CakePHP. Coming from a background in PHP and having worked with Ruby on Rails for a few years as well, I think the authors did a good job covering the basics and putting together some interesting projects for you to work on.

= The Bad =
As a technical editor for several books myself, I know how difficult it is to catch all of the mistakes (missing semicolons and the like), but the level of technical errors in this book was shocking. One simple example: the minLength validation option was misspelled everywhere (as `minLenght`) -- in code examples, in body copy, etc. And that's just one example. It's obvious that the examples in this book were not thoroughly vetted despite having 2 reviewers and 2 technical editors. Sure, maybe I'm nitpicking, but I feel strongly that when a technical book comes out, it needs to be as accurate as possible to reduce the frustration level of people following our examples line-by-line.

Another minor gripe I have with the book is the incredibly inconsistent formatting of the code examples. Indents were all over the place, as were line wraps, making it very difficult to follow. I understand that some people don't care about nice-looking code, but when you are supplying that code for an educational purpose, it should be as legible as possible.

= The Ugly =
For the most part, I enjoyed this book, but the section on JavaScript and Ajax made me wince. Repeatedly.

As someone who spends a lot of time teaching people how to write unobtrusive JavaScript, it pains me to see books that continue to promote doing things the wrong way. I'll give the author's props for relegating most of their JavaScript to external files, but their Ajax examples leave no fallback for users with JavaScript turned off (or no JavaScript support). It would have taken just a few more lines to show how it could be done using progressive enhancement techniques like Hijax (discussed in Jeremy Keith's book Bulletproof Ajax).

One final gripe I have with this title is that it completely skips over the topic of unit testing. The section on working with the Cake shell briefly mentions it (by simply having you decline the offer to have the shell script generate test cases for you). After seeing that, I was hoping the authors would at least devote a small chapter to provide a cursory overview of building and using unit tests in Cake. Alas, that chapter never materialized.

= Final thoughts =
In all, the book was decent, but didn't really blow me away. It could have been a lot better.








FlazX Search
Resources
FlazX 100 Newest Books  Top 100 Search Keywords  Last 100 Search Keywords  Community Edition 


Google Talk : admin-at-flazx-dot-us


eXTReMe Tracker