• RRP: £36.50
  • You Save: £9.51 (26%)
FREE Delivery in the UK.
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Pro Zend Framework CMS: B... has been added to your Basket
FREE Delivery on orders over £10.
Used: Very Good | Details
Sold by the book house
Condition: Used: Very Good
Comment: This item will be picked, packed and shipped by Amazon and is eligible for free delivery within the UK
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Pro Zend Framework CMS: Building a full CMS using Advanced Aspects of the Zend Framework Paperback – 2 Jun 2010

2.7 out of 5 stars 3 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
£11.10 £0.01
Promotion Message 10% Bulk Discount 1 Promotion(s)

Note: This item is eligible for click and collect. Details
Pick up your parcel at a time and place that suits you.
  • Choose from over 13,000 locations across the UK
  • Prime members get unlimited deliveries at no additional cost
How to order to an Amazon Pickup Location?
  1. Find your preferred location and add it to your address book
  2. Dispatch to this address when you check out
Learn more
£26.99 FREE Delivery in the UK. In stock. Dispatched from and sold by Amazon. Gift-wrap available.
click to open popover

Special Offers and Product Promotions

  • 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)

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.

  • Apple
  • Android
  • Windows Phone

To get the free app, enter your mobile phone number.

Product details

Product Description

About the Author

Forrest Lyman is a passionate PHP developer who concentrates on content management systems (CMS) development. He developed the Digitalus CMS on the Zend Framework, progressing from version 0.1 through 1.5. Once Zend Framework reached its production release (1.0), Forrest released Digitalus as an open source project. Over the course of the project, he developed a wide range of sites based on the CMS, from small business sites to international non-profit and university systems. Working hands-on developing these sites with the Zend Framework has given Forrest a unique perspective into building extensible CMS systems with Zend Framework.

Customer Reviews

2.7 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 3 customer reviews
Share your thoughts with other customers

Top Customer Reviews

Format: Kindle Edition
I recently purchased this book, as I am looking to expand my current Zend Framework knowledge.

Overall this book provides a great insight into how to build your own CMS with the ZF, but at the same time, dont simply copy and paste the code. The number of errors in the book is ridiculous to say the least. While minor typos are common in most books, it appears this book was written in a hurry and never proof read. You have to be vigilant in looking at exactly what the code is 'trying' to accomplish and then fix these issues. In a way this is a good method to get the user thinking about the code and practices debugging. But the big thing that I ran into was half way threw the book I noticed a reference to the 'updatePage' action with one of the Models. At no point in the tutorial did we create this function. I soon realised after a bit of debugging, this was created in a separate Model with a number of other class that needed to be moved across.

Although the number of issues of poor documentation and wrong code in this book is scary, it does help you become a better programmer as these are similar issues that could come up in real life situations.

I have purchased a number of Apress books, they have all been accompanied by a great library of source code, this book however is provided with simply the finished product with no SQL documentation. While I have not actually tested out the finished CMS from the source code, I'm sure it would no doubt have a number of 'bugs' that the book has so wouldnt even work.

Overall this book appears to have been rushed through to production is little or no oversight. Hopefully they are working on a second edition of the book that will address some of these major pit falls.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
I'm new to Zend Framework and - in fact I've just recently started learning OOP in PHP, but after going through the book I've realised that there's a lot of things missing.
The author has forgotten some essential information withouth which you won't be able to move on as your code will throw errors. Things like including path to the CMS folder in the bootstrap, plenty of the typos in the names of the classes etc. You really have to be careful and do some internet research to find your way around this project. Apart from this - interesting concepts for the beginner in Zend Framework.
Comment One person found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
Always on the lookout for a new ZF book I was interested to hear about a book which pitches itself at 'pro' Zend Framework techniques.

Going to the publishers website you can download source code that the book uses, so thought i'd take a look, and i'm glad I did.

I'm really not sure why this book is pitched at professional techniques as the source includes calling zend_db_table and select methods objects directly from inside an action (rather than abstracting these into the model that they use), using the costly actionstack to forward to empty actions just to show a message (when you could just render a different script in the same action) and other techniques that seasoned developers would steer clear of.

I obviously can't comment on the content of the book, but if you already have a few ZF projects under your belt then you may want to look at something more advanced such as Zend Framework 1.8 Web Application Development
2 Comments One person found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: 3.6 out of 5 stars 18 reviews
20 of 20 people found the following review helpful
2.0 out of 5 stars Great In Theory; Useless In Practice 30 Dec. 2009
By Travis Alexander - Published on Amazon.com
Format: Paperback Verified Purchase
Like many, I bought this book as it is one of the few non-beginner Zend Framework books that comes from a trusted publisher. What I expected was a great next step in advancing my Zend Framework knowledge. What I got was a rushed, almost useless run through of how this particular author created his CMS.

The author spends multiple chapters on the same exact CRUD (create, read, update, delete) functionality in each controller. Very little additional information is given when new features are added.

All in all, the biggest complaint, and the reason this is rated 2 stars as opposed to 4, is you simply can not follow the code in the book. I did a quick run through of my notes after finishing the book and came to the conclusion that 1 in 4 code samples contains at least 1 critical error. From misspellings, to incorrect class names, to missing syntax, to functions that don't exist; You will be spending hours upon hours just trying to figure out why your script isn't working! And to top it off, the publisher has not yet added a single errata (I personally have submitted at least 20).

Another complaint is the sample code is not broken up into chapters, but instead provides only the final product. This is somewhat useless when working through the book systematically. I worry that this added layer of complication and frustration may drive many away from using Zend Framework as a person could easily mistake problems in the sample code with problems of the framework.

To wrap it up, this book was a rushed, weakly thought out attempt at covering the beast that is Zend Framework. I highly recommend you look elsewhere.
8 of 8 people found the following review helpful
2.0 out of 5 stars Good CMS example, but repetitive and poorly edited 17 Jan. 2010
By Chad Kieffer - Published on Amazon.com
Format: Paperback Verified Purchase
I agree with most of the points in Travis Butler's review . I encountered several obvious editing errors in code samples and wasted a lot of time tracking them down. I finally wrote to Apress' editorial staff who admitted "It is possible that some code may have been added or changed at the last minute, bypassing our normal technical review process." This is a shame because I had begun to prefer Apress over Packt books because of a perceived emphasis on higher quality from Apress.

The other issue, as Travis points out, is repetition. After building a few CRUD actions there really isn't any need to to show more basic CRUD code samples later in the book. Instead, discussing subjects covered or alternate approaches in a bit more detail would have been more valuable for readers.

If you need to build your first CMS and are looking for a good example of how to do so with the Zend Framework, I'd recommend this book despite the editing errors. If you're a seasoned developer, I'd look elsewhere.
5 of 5 people found the following review helpful
4.0 out of 5 stars Great Book but with a lot of errors 28 Jan. 2010
By Kurt Hogentogler - Published on Amazon.com
Format: Paperback
I enjoyed this book even with the amount of errors I found in the code.

That said, I learned a lot in this book and had a lot of fun with it. For the most part if you have some experience with php and the Zend Framework you should be able to figure out the errors and fix them.

I'll briefly cover what I think is the heart of the book.

This book uses direct inheritance as it is simple and easy to implement versus lets say composition. For example, by using direct inheritance, if you have a Page Model, then you would directly extend from the data source gateway class.

eg. class Model_Page extends Zend_Db_Table_Abstract

The disadvantages of this are it is hard to run unit test without a database connection. Breaks OO inheritance principle (if your concerned about that) and is tightly coupled with Zend_Db_Table.

The author notes that there are a number of different opinions regarding the structure of an MVC application. He states that the approach he describes is a fat controller approach.

But after building the application it seems to me he is using a Fat Model skinny Controller for the business logic in the application stack. The methods and queries are done in the Model not the Controller.

Doing this allows for code reuse anywhere in the application, readability is enhanced and maintainability is easier as the Controller is easier to maintain with fewer lines of code and less logic contained in it.

What I really like about the application you build, is the authors use of an abstract data structure. Abstract data structures look at content in a contrastive way. In an abstract system content is content. To implement this approach he uses the node pattern which consists of two components: pages which are the main containers and the content nodes which are the actual blocks of content. A page can have any number of content nodes.

So what the pattern means is that any page can have any number of content nodes. The same database tables can work for a page, a blog, a cms, or any type of page. Also, pages can contain other pages.

The Model_Page and Model_ContentNode classes you build handle the low-level database management and this is where the direct inheritance takes place from Zend_Db_Table_Abstract.

The Page and ContentNode model classes provide an abstraction layer between the application and the underlying database structure. But this has added difficulty because you create a flexible data structure and this has made managing the data more complicated than it would be if you had a fixed table tailored for each content type. Like in a traditional CMS database.

The way around this involves creating another layer of abstraction on top of the models called "content item objects".

These objects extend a base abstract class called CMS_Content_Item_Abstract that handles all the interaction with the Page and ContentNode models. This in turn gives you a real object oriented data access.

So, now that I have this base content item class, I can create new forms of content for my CMS project very easily, without altering the underlying model or database. You can than create a concrete class that extends the abstract class and add public properties for each of your data.

I liked this approach and would be interested to hear what other people think.
2 of 2 people found the following review helpful
3.0 out of 5 stars Sloppy, riddled with errors, but still valuable 27 Mar. 2010
By Alastair Dallas - Published on Amazon.com
Format: Paperback Verified Purchase
It is very difficult to follow along when examples contain naming errors. The book is literally riddled with typos, wrong file and class names, and (in only six months) outdated Zend FW calls. Adam DeFields and Wil Sinclair are listed as technical reviewers--shame on you, guys. The core of this book is a fairly innovative, yet straightforward, content management system. Lyman, the author, commits no errors when he's talking about the underlying design. But if you enter the code page by page and try to make it work, the careless mistakes become maddening. There are only two errata listed on the publisher's page--there should be dozens. If the errata were kept up responsibly, all would be forgiven. Some examples: p.17 "...then runs the method that is relates to the helper class..." that IT relates? that is RELATED? Is the class Form_BugReportForm (p.42) or Form_BugReport (p.47)? Is the variable in submitAction $frmBugReport (p.47) or $bugReportForm (p.49)? The examples call lastInsertId() to get the new row's id but apparently Zend Server 5.0 does it differently, setting the row's id for you and returning 0 in lastInsertId, which breaks the code. Bottom line: Smart author, not a bad teacher, but desperately needs an editor and a technical reviewer. For the price of this book, APress should have at least paid someone to keep up the errata.
2 of 2 people found the following review helpful
4.0 out of 5 stars Not Advanced, But the Best Book for Zend Framework (so far) 15 Nov. 2009
By Castlebravo - Published on Amazon.com
Format: Paperback
I have been searching for an adequate book to teach the basics of the Zend Framework. I was looking for something beyond the many introductory tutorials already available on the internet. This book covered my need in only about three days of reading. The author effectively uses a CMS project as a vehicle to explain the capabilities of the framework in a simple way. This is not an advanced text, but if you want to learn to make a working prototype of a web application using the Zend Framework this book provides the necessary foundation.

I have looked closely at the few other Zend Framework books, and this book does not contain the glaring errors and weaknesses of those books.

My only criticism of this book is the "Pro" techniques title. I think they are introductory techniques. Since no other book has provided the introductory techniques in a compelling and effective way, I recommend it for that reason. I look forward to an advanced Zend Framework book in the future.
Were these reviews helpful? Let us know