21 of 21 people found the following review helpful:
2.0 out of 5 stars
This book is a mess., February 14, 2011
This review is from: Agile Web Application Development with Yii 1.1 and PHP5 (Paperback)
Sometimes I read a tech book there are a few annoying errors that detract from the overall experience, but this one, the errors are so many and so egregious that it makes it impossible to follow along unless you are already a very highly skilled developer and can 'guess' what was meant.
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.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
8 of 8 people found the following review helpful:
4.0 out of 5 stars
Has errors, But overall good book., October 27, 2010
This review is from: Agile Web Application Development with Yii 1.1 and PHP5 (Paperback)
I was convinced by a friend to try out Yii about two weeks ago. Coming from knowing CakePHP, Yii was a lot different. I completed the blog tutorial but was still confused about many things and did not really feel like I knew what I did from the tutorial. So far the the other comments on this book are pretty close. My 2 biggest issues are typos/errors, and the code examples. The errors, while obvious, didn't really distract from the learning. OK sure so a word was misspelled, but really you are going to give a book a lower rating for that? Most of these errors were in random words throughout the book and didn't really detract from learning anything. But, there are some pretty badly misspelled words that should have been caught.
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.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
13 of 15 people found the following review helpful:
3.0 out of 5 stars
Decent book that have a lot of typos, October 5, 2010
This review is from: Agile Web Application Development with Yii 1.1 and PHP5 (Paperback)
Was pretty excited about this book because it's the only Yii book out there.
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.
-Font Mistakes
-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.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No