
Great Book on the Zend Framework.The only quip I have with this book is the title "Practical Web 2.0 Applications with PHP" it should be called "Practical Zend Framework Applications using PHP"
There is not one example in the book that doesn't use the Zend Framework. That being said the Zend Framework is a great framework - by far the best web framework I've seen. I'm PhD student in Computer Science at UCLA whose dissertation research involves the web. I've used a lot of web applications and frameworks. Symfony, Drupal, Joomla, Ruby on Rails, etc.
Most of these applications and frameworks just suck - that is, it is more work using them than not using them and many severely limit what one can ultimately do.
I like Ruby on Rails but I love the Zend Framework. There are two big differences between the Zend Framework and Ruby on Rails: 1) they both promote MVC style programming but Ror forces you to use it everywhere and the Zend Framework allows you to mix MVC with simply using their framework as a library wherever you want. For example, I am building a social network but want to mix that with a related wiki. I can use MVC for all the social network code and use and existing MediaWiki (which is not MVC based). All I need to do is rewrite some of the mediaWiki code to hand over user authentication to my controllers.
2) it's Php based ... there is much, much more existing Php code to cannibalize for applications than Ruby code
The book itself basically takes you through setting up user profiles, a blog, an image gallery, prototype (javascript) and Google maps using the Zend Framework. The code is very professional and complex at times so a beginning user may have to read a chapter 2-3 times to fully understand it. Still the only way to really learn to write "professional" code is to see it and understand why it was written as it was.
There are some issues I have with the book. In places where something could reasonably be done in multiple ways the book only shows one without any explanation why that way was chosen. For example, in the installing Zend chapter the book tells you to edit the httpd.conf file to set your paths. Most people who use a commercial hosting company don't have access to edit httpd.conf or restart the server. There are ways to reset the path within the Zend bootstrap (which I did) but if I didn't know how to do that I would not have been able to get the examples to work without setting up a server locally on my machine.
Also the bootstrap is left in the index.php file when Zend recommends using the index.php to call the bootstrap.php file from a non-public web directory.
The Zend Framework is only a few months old and this is by far the best web framework out there. There is only one other (decent) book on the framework. This book is about the Zend Framework and only marginally about "Web 2.0" (you use Google maps). The book that should have been titled "Practical Zend Framework Applications using PHP" will teach you how to use the best web framework out there. If the next book shows one how to really use web services, ajax and present web services using the Zend Framework then it can be called "Web 2.0" not this one.
PHP Web 2.0 using Zend and SmartyFirst of all. What is Web 2.0? Everyone has a definition. The important point is how does THIS BOOK define it. The author of this book defines Web 2.0 as sites that use: standard compliant HTML/CSS, use AJAX, share data using web services, and incorporate social networking tools. This book seeks to show the reader how to use the four components in conjunction with PHP.
The cover of the book states "Develop a complete PHP web application from start to finish." This is exactly what the book does. As the chapters progress you are shown how to create a blog that also includes an image gallery. Additionally, Google maps integration is covered. While, the author is not necessarily advocating that you create blog software from scratch, the blog is perhaps the quintessential Web 2.0 application. This allows the book to highlight the four main design criteria of Web 2.0.
This book makes extensive use of the Smarty and Zend frameworks. The Zend framework is used to achieve the Web 2.0 goals. In many ways this book could be considered a guide to using the Zend framework. MySQL is also used.
The book contains many code examples and demonstrates many techniques that can be reused in any web 2.0 project.
Outstanding Demonstration of Php(Zend) and AJAXAfter thoroughly going through every chapter in this book (somtimes several times to understand exactly how everything was linking together) I have an incredibly improved understanding on how you might go about building a more complex web application, and an advanced understanding of the MVC pattern.
Every section is extremely well laid out, and the code is explained in detail (in most cases.) The only times where an explanation is lacking are when an approach has been previously explained in the book. Use that memory!
I think if you really dig into and understand this code, you may find yourself well ahead of a lot of your peers.
I even had a problem with one piece of code, and the author was kind enough to reply to my e-mail and help me troubleshoot the problem. (It was my fault.)
Highly suggest this book!
Great... once you get goingI won't repeat what the others have said about how great this book is other than to say I agree with them. In addition, as what follows will prove, I am relatively new to PHP. What follows below is answers to two hurdles that I had troubles with 'getting going' - the first having to do with php configuration, and the second concerning Smarty. I simply hope, if you are new like me, the following will save you some head scratching.
First - php settings... While the author does go to extraordinary length to try to spell things out for the reader, one gotcha centers around your 'include_path' settings. The author failed to mention that his default include_path includes a '../include' entry. Without that, any attempt to run the application will report an error with the Zend Loader. A work-around is to simply use ini_set to add '../include' to the index.php file.
Second - Smarty. Installation of Smarty for this project is demonstrated for a unix environment. Being ignorant of that environment, I missed the fact that the author was copying 'Smarty/libs/smarty.class.php' and the rest to 'Smarty/smarty.class.php', etc... In that I already had Smarty installed in php5/include/Smarty/libs, I missed the elimination of the libs folder. So, if you are going to buy this book AND already have Smarty installed, you can do what I did... Go to line 11 in Templater.php to change the require_once to point to where your installation is. In my case, 'Smarty/libs/smarty.class.php'.
Bad use of zend frameworkThe autor, doesnt follow any convention of the zend framework. He constantly uses some of his clases developed years ago, integrating those classes with the zend framework, but he never explains deeply how they work, so you must followe along with out understanding how thing works.
And with more than 20 php books readed, i think i cant tell that this book, is not good for learning, neither zend framework, or oop
Excellent, but why implement your own Db Table patternThis is an excellent book and I have enjoyed reading it over the past day. For someone trying to piece together the various technologies like Auth, ACL, Config, Logging and Session it's a great resource for the first several chapters, going into detail about the configuration and setup of this simple environment without any of that padding and guff that a lot of other authors include. The book doesn't treat you like an idiot, which I certainly appreciated.
The only issue I would raise is that the Author has used his own classes for database Table access instead of employing the frameworks standard Zend_Db_Table and Zend_Db_Table_Row bases. This means that anyone wanting to adhere closely to the Zend Framework (for corporate reasons) will have to reverse engineer the approaches used. An odd choice for a book almost entirely based on the Zend Framework.
Needs an updateWhat attracted me to this book is that, instead of vomiting out a bunch of technology choices and disparate code snippets, the author focuses on a project using his favorite toolset. But I also know that critics believe books like this are kind of a 2-edged sword, because while the principles can be distilled and applied to other tools, it's not always easy. Say you want to use the Zend Framework but choose to use the PHTML-based view scripts instead of Smarty. Well then you are going to have a rough ride through this book in places. Still, I appreciate this kind of put-it-all-together approach.
That said, I can't give this book a higher score. One show stopper in 2009 is that the Zend Framework is quite different today than it was when this book was published. So, as early as chapter 2, you'll find deprecated methods (like Zend_Loader::registerAutoload()). In fact, because of ZF 1.8 and Zend_Application, I would not recommend implementing any of the bootstrap approach employed in the book. It is so much simpler now. I really hope that Mr. Zervaas publishes an updated edition that takes some of these updates into consideration.
I also agree with other reviews here that question the choice of the custom DatabaseObject class. There are a number of problems with this class, even after refactoring in some Zend_Db functionality. I won't repeat the arguments, but here is another opportunity for an update.
Good book after slow startI have been working with PHP for several years now yet the first part of this book had me pulling my hair out (whats left of it). Setting up the environment is tricky and it probably would of helped me if I had a stronger background in OO programming. With that said, this is a good book and I would recommend it to any intermediate level PHP developer.
Highly Recommended!This book is easily the most useful and well-written PHP book I've ever read. It runs you through the complete development of a web application using PHP5, Zend Framework, Smarty, Ajax (via Prototype and Scriptaculous). It also includes a useful section on Deployment and Maintenance, which includes error handling/logging/reporting, database backup and restoration, and application deployment (dev, staging, production).
The book has a heavy focus on the Zend Framework, and does a better job of explaining (and using) the intricacies of it then any other book or online resources I've come across.
I would highly recommend this book to anyone looking to use PHP5 with the Zend Framework.
Excellent Book on PHP using Zend Framework, and Web 2.0 TechnologiesThis is a great book that deserves 5 stars. First, let me say that I don't normally give reviews but this book has compelled me to.
First, the guy who gave it 2 stars doesn't understand that the whole point of the Zend Framework is that you don't have to abide by a strict set of rules. It's a glue framework.
The author uses some custom abstract classes for interacting with the database and handling forms. He doesn't explain how they work but the whole point of OOP is encapsulation. Your using those classes (extending them) but you don't necessarily understand how they work completely. I mean do you understand how everything in the Zend Framework works? NO and thats the point of using a frame work because you extend from it. All his custom code has been unit tested as well too.
I understand that Zend Framework has classes for interacting with the database and form processing and eventually will look into them.
That being said, I have had the time to work through this book ( I'm half way into it) and the authors writing style is great and very consise. There are a few typos (errata) which can be found on the Apress web site to fix as you go along. People have posted solutions to a minor few bugs because of newer code being used like Prototype as well.
You will learn a great deal from this book. I have a background in front end web development and some Jquery. I studied Java, Ruby so I had some knowledge of OOP and most recently before I started this book I studied a lot of procedural PHP. That helped before diving in OOP PHP and the Zend Framework.
So, I guess I'm trying to say that this book is very approachable and satisfying because you are building something that you can use as a library of code for your own projects.
Although, you should prepare yourself with knowedge of OOP PHP, maybe do a Zend Framework Tutotial which can be found at the official site. Also, having some knowledge of a Javascript library and CSS as well as investigating what Smarty templates are would be beneficial if you are totally new to how modern web applications are built.
Definitely by this book. You want be disappointed!!!
One of the most useful php books I've readI have been reading php articles and books since 2004 and most times I get a sour feeling after reading them. I often get the idea that the people who write about php don't really know much about web sites or about programming, or maybe they just don't know how to write. Quentin knows the web and programming so I found him a very credible author and his writing style was easy to follow. I also was amazed at how practical the book was. It really does deserve the title "Practical". I found it quite fun to develop the entire application that the book was using for illustration. I immediately got takeaways that affected the way I do my job. So thanks Quentin!
Todo lo que necesita un emprendedor webEste libro, es excelente para personas las cuales hemos trabajado mucho con aplicaciones para internet, pero que estamos interesado en el web 2.0, ajax y el mundo del MVC.
Hasta el momento no tengo quejas sobre este libro, y creo que no la tendré, aunque tengo que mencionar, que deberian explicar que el libro hace uso de Zend Framework y que sin el seria dificil aplicar Web 2.0 basandonos en el libro.
CodeIgniter es mi framework para desarrollo, pero ahora que el libro me introduce hacia Zend Framework creo que tengo mas posibilidades, si eres alguien que desea aprender Zend Framework, introducirte en el mundo del web 2.0, creo que este es el libro perfecto.
Good stuffI've developed web pages professionally for several years now and was looking for a good guide on how to use MVC with PHP. Practical Web 2.0 Applications with PHP gives you examples (evey one of them) that use the MVC model with the Zend Framework.
I would recommend this book to anyone looking to learn the Zend Framework with MVC.
Defiitely NEEDS an update!Not good. Only a third of the way through chapter 2, yes, chapter TWO and I'm seriously considering retiring this book. Things had not been working as they ought to (as he said they would) until I got my hands DIRTY. Dirty as in "retro-fitting" my server to use an OLD version of the Zend framework. Only then did things "start" to work. This author simply moves TOO FAST even for an intermediate programmer. Also, there are NO "workarounds" for common problems a user may run into. It's not good for difficult subjects like ZEND.
I got so much use from the code in this book.This book has great examples, and great explanation of the code. I can't remember getting as much mileage out of a tech book before.
I particularly liked the intro to the Zend Framework and Prototype/Scriptaculous. I was very, very impressed.
Good BookWhen it comes to learning a new technical skill or programming
language, Apress has always provided me with excellent resources that go in-depth and fully explain the language inside and out. "Practical Web 2.0 Applications with PHP" is no different. It covers everything from planning and design to walking you through constructing a simple blog system using the popular PHP Zend Framework as well as a smattering of Web 2.0 concepts, ideologies and design patterns thrown in between.
When I set out to read this book, I was not looking to learn much in terms of PHP, but was looking for some new web design practices that have come about with the dawn of Web 2.0, and I must say that I was not disappointed. I would highly recommend this book to anyone looking to further their knowledge of Web 2.0 designs and practices. But beware, the book does assume that you have knowledge of PHP and dives straight into the Zend Framework to illustrate the usefulness of dynamically generated web content.
Buy this PHP Book, NOW!!!OK, now the term "Web 2.0" has been used to death in the past 2 years I know. But that doesnt mean you cant jump on the bandwagon and understand how to create web aplications using PHP right?
PHP has been around over 10 years and is still the most popular web programming language around (yes, way more than ASP.NET). Although ASP.NET has the advantage of more "bells and whistles" built-in to its .NET framework on server controls, that doesnt mean you can't create beautiful, sharp and cool looking web applications in PHP.
This book written by Quentin Zervaas really explains how to use mutliple technologies (Zend Framework, Smarty Template Engine, PHP, MySQL, and JavaScript libraries). The author steps you through creating a pretty cool blogging web application.
There are lots of different technologies used throughout this book but hte author explains them expertly and never allows the reader to get lost. He always goes through the reasoning process of why he is doing something a certain way as well as explaining the alterntives as well.
The book is geared for the intermediate to advanced PHP developer, only because of the many technologies he is using and the Zend Framework really requires a person who already understands PHP fairly well.
The JavaScript libraries used for the "cool Web 2.0 effects" are prototype and scriptaculous. Those are used for the Ajax interactivity with the MySQL database data as well as the code created with the Zend Framework.
I really like the authors example because it steps you through from beginning to end of a real-world web application. It gives you the knowledge of what is really involved in creating a useable application like a blog. And as a user of WordPress (also PHP-based) it helped me understand what would be involved in trying to duplicate a similar web application.
When you are done reading this book, your resume will definitely be much improved since all of the technolgoies covered in this book are highly sought after skills in the workplace.
I highly recommend this book.
THE Ultimate book for Zend Framework ProgrammingI was having a hard time wrapping my brain around MVC and ZF until I found this book. Thank you for this outstanding work!
It is extremely well written and supported by great code samples. Some of the material is quite complex and I had to read several chapters multiple times to grasp the content. I feel much more confident of handling large web projects armed with this knowledge. The other book that I would recommend for serious ZF programmers is Zend Framework in Action(Manning)
Very practical web development book (making extensive use of Zend Framework)I found this book very useful if you want to develop a solid, feature-rich web application. It provides a review of all technologies needed to piece together your own solution, using always components/frameworks that are well entrenched in the development community. Not only you will get an understanding of the back-end architecture(PHP, Zend_Framework, Smarty, MySQL) but you will also get to learn how to tie in your front-end components (Ajax, JavaScript, CSS, JSON) in a seamless application.
I see this book as a very good manual for a CS class in LAMP web development.
OutstandingThis book is outstanding. Not only does it guide you through on building online applications but it also drags you through the Zend PHP framework. I would recommend this book to anyone is going down the path of becoming a fantastic PHP developer. It is a good resource.
