- Save 10% on Books for Schools offered by Amazon.co.uk when you purchase 10 or more of the same book. Here's how (terms and conditions apply) Enter code SCHOOLS2016 at checkout. Here's how (terms and conditions apply)
Agile Web Application Development with Yii1.1 and PHP5 Paperback – 27 Aug 2010
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Special Offers and Product Promotions
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
About the Author
Jeffrey Winesett Jeffrey Winesett is director of application development at Control Group, Inc. in New York City. He has been building large-scale web-based applications for over 10 years and has been a champion of the Yii framework since its initial alpha version. He frequently publishes articles on specific Yii topics and uses Yii + PHP whenever possible on development projects.
Top Customer Reviews
Most Helpful Customer Reviews on Amazon.com (beta)
For example, the author uses the InnoDB engine for his code examples, but fails to declare this on several of his schemas. This causes big problems as mySQL ships with MyISAM as the default database. Normally, schema should explicitly set the engine, particularly if you're not going to use the default!! Perhaps InnoDB is the default on his database, but the reality is that most people will probably be learning this framework against mySQL. Hopefully you're experienced enough with databases to catch this and figure out why the code doesn't work. Once you get past this 'gotcha', then you have to deal with code errors in almost every other example. It completely undermines my confidence in this writer's ability to teach the framework and make for hours of frustration as you try to track down why things aren't working. The writer clearly is an expert in Yii, but he's not much of a writer or instructor.
Then there's the general spelling errors. It seems to get worse as the book goes on. I've got 10 bucks that says this book was turned in by the author and published without any editorial review or proofreading at all.
Perhaps it's just me, but the Chapter on User Access Controls seems to be missing an entire section that would make the example work. He builds some tests, then builds the code, but doesn't cover getting the initial state set for a user with 'admin' level access. Another word, you run the code, but there's no 'user' setup who can then access the admin level pages he just spent time testing and developing ??? Perhaps this was another example of where the author suggests that you try and figure x, y or z out on your own as an "exercise".
Here's an example of some inelegant prose; how many typos can you find in this short block (I cut-and-pasted it directly from the pdf version):
One other small change we made as to add a simple link from the project details page so we could access this form form the application. The following line was added to the project show.php view file's list of link options:
[<?php echo CHtml::link('Add User To Project',array('adduser','id'=>$model->projectId)); ?>]
This gives us access to the new form.
After that, I quit the book. Perhaps I'll be able to learn it better online.
I've read quite a few tech books over the years and this is a close contender for "Worst Book Ever". Unfortunately, it's the only book specifically on Yii right now. Hopefully the framework will continue to grow and somebody will write another one.
My bigger issue was with the code examples. While much of the time they worked and served their purpose, they sometimes were wrong. And I would have to refer to the source code for the book to see what was wrong. So far the two worst are after getting the issues implemented with projects where updating an issue yielded in a broken page. Even the source code was broken. And the other was setting up a full login system. There are multiple authenticate() methods used over various classes and it get rather confusing. Some of the other methods do the same, as a method in another class which is also used in the authentication. I had to read the entire section 3 times before i said crew it and decided to move on, as the login process still worked. I would later go to the on line docs to read up on authentication. But I wanted to finish the book. Other than these, the book wasn't too bad. I did learn quite a lot about the framework. Though I still need to understand some of the finer things even more, I know that will come with experience.
Some things I liked about the book. Test Driven Development, while i was only vaguely familiar with the concept before, I now feel like I have a much better understanding of how it all flows together with application development. But I do still have questions. The book isn't designed to teach you how to be a pro at TDD but to teach you how to do it with Yii. So it will help if you know some about it, but like me, if you don't it will not hinder you. The book assumes you don't know anything about it. If you are familiar with TDD you can likely skip the intro section on it. But its uses with yii you might still want to skim just to see how it work in the framework.
The approach to the book is to build one functioning application, called track star. While this will help you see how an app is build from the ground up, this technique has its limits. But for this type of book I believe this was the better choice to the alternative of each chapter creating it's own application. Which I feel would be another good book for beginners. Though that information can be gathered from the on line documentation and various blogs as well.
All in all I felt as though the book was worth it to learn Yii. Do I think it could have been better? Most definitely. As with some books I want to keep them for reference and so people can see all the books I've read. This book however I wouldn't mind passing off to a friend who is trying to get into learning Yii. It's not really going to be a good reference book as the main idea is to build one application rather than one per topic/chapter so its post read value is small.
I'm up to chapter 8 so far.
Anyway, there are bunch of errors and certain system administrative encounters.
The skills require for this book are php5, OOP, LAMP skills, and google/stackoverflow/serverfault ninja skills. You would probably want some database design skills for just those foreign keys or at least a basic understanding but I think you can do without it.
Here's what I've encountered:
-PHP 5.3.3 They change the timezone and stuff. If you read the error carefully you can fix it by adding a line of timezone code in the yii file.
-Code style and format is ugly. I mean seriously when I'm reading the book and there are if and else loop nested 3 times, the author doesn't really have a great coding style and the way it is layout in the book just makes it harder to read.
-typos in url and there are typos in code
-The SQL schema is also wrong because the way it declare the primary key will have mysql complaining, typo.
-I believe this is more of a software fault because the foreign complain unless you have the same datatype ie INTEGER and INTEGER instead of INTEGER and INTEGER(4). I've asked this on stackoverflow could be my mysql version.
-Did I mention the typo? Here's the worst lines I've came across: pg 129, with words like "thehe uof" and "conssue", yeah, gibberish that need editing. I know I'm pretty damn bad at grammar but seriously this is pretty bad.
-pg 163-164 for the UserIdentity::authenticate() It's really different. I've check version 1.1.1 and it's almost the same where as the version of Yii I'm using is 1.1.3. I've also checked with the source code and the code is different too! It's like a typo mismash with some other function login function in the LoginForm php file. I don't think it's important but still highlight the fact that this framework is constantly updating and the typo does add to the frustration.
What I find myself doing:
I find myself easily lost in the grand scheme of MVC. I dived into the chapters, implement the code and parts of the application and I easily get lost in the details. What I do after I finish each chapter is step back and print out the code and review it. I also have a pretty big white board to draw diagram of how the models, views, controllers relate to each other when I insert the codes. I review why does the author do this and what the hell is going on. I think this is the best approach, at least for me.
Oh, it takes the errata page forever to post errors. I've sent like 8+ errors and I don't see any of mine in there (4 ish months now?). Please check the errata page for any errors.
What this book needs:
-Editors and more diagrams.
-Perhaps be a bit more friendly with those that aren't good with LAMP stack or WAMP, if they want to broad out their reader base. I got my Lamp skills so I ain't complaining.
-Oh, it also need a new edition that isn't fill with typo.
-Get someone that knows nothing about Yii and get that person to sit down and try to learn the book. Whatever wtf questions, typos, and errors he/she encountered have that person write it down and fix it. Because when you know about a subject and write a book about it, sometime you tend to assume that they know what you're talking about or assume a certain thing and so you end up explaining very little. This is like assuming that the readers can read your mind. I think this is the hardest part for most technical books.
-I've seen all these positive reviews for packt because they have a program where if you have a blog they'll give you free pdf if you review their book. Those reviews are buncha yes people. I'm not even sure sometime if they actually go over page by page or if they just skim them. GET a real person that know nothing and is willing to learn it to critique it so you can have a better product.
Does the book get the jobs done?
Yes, only if you're willing to work your butt. If you encounter any typos or anything you better learn how to google, stackoverflow, or serverfault it (they're websites!). If you're going to get lost in the details then learn to code review and review the chapter you've just read. This doesn't hold your hand and it cannot explain every single details you're going to encounter that isn't Yii related, ie system admin stuff.
It would be a 4 star if it weren't for those combination of typos, errors, and hard to read code layout. I can understand little typos but seriously these typos are pretty major that contribute to errors.
I recommend this book, if and only if, you're willing to work at it and have the necessary skills.
The important thing about the book is that it exists. Period. The framework is really a robust one, but without a hardbound reference, I don't think I would have chosen to use Yii at all. Having this gives me a place to start. Without this reference, I couldn't have gotten the in-depth info on using the code generator (Gii); rule-based access control (RBAC), or the internals of the layout system.
Kudos to the whole Yii team for recognizing the importance of documentation. This book is a must for any one considering the Yii framework. And for anyone writing LAMP apps and not using a framework, heaven help you.
Unfortunately, the "Yii 1.1" caveat in the title should be a bit more precise "1.1.2" (as correctly called out on p 7). The text has not been updated for the useful changes in Yii immediately after release of "Agile", and perhaps because of the good ideas in the book. As I worked through the examples using Yii 1.1.8 I ran into headaches on about page 120, but head-ache remedies are readily available online at [...], [...], and eventually [...]. "Agile" has one other source of minor frustration that detracted from an otherwise 5-star rating. The formating of the code segments in the PDF file and some typos there prevented direct cut and paste without syntax debugging, line un-wrapping, and re-indenting. Otherwise you have to just type the code from scratch (as I did in many cases, to train "muscle memory"). Taking these detours into account, the read and work-through process can be accomplished by a Yii and MVC web app novice in two or three weeks, full time. And you will emerge a much more savvy Yii-ist.You'll have learned several patterns and tricks along the way that will inform your next web app architecture and may even copy over verbatim. If you're in a hurry you can even skip the "test before code" methodology examples, which might reduce your effort by more than 30%. I wrote all the test fixtures and procedures, and used them regularly, but it doesn't seem to me that they will shorten the entire design, development, debug cycle on a new web app.