- Paperback: 292 pages
- Publisher: Packt Publishing Limited (November 25, 2011)
- Language: English
- ISBN-10: 9781849513623
- ISBN-13: 978-1849513623
- ASIN: 1849513627
- Product Dimensions: 7.5 x 0.7 x 9.2 inches
- Shipping Weight: 522 g
- Average Customer Review: Be the first to review this item
PHP and MongoDB Web Development Beginner's Guide Paperback – 25 November 2011
|New from||Used from|
Amazon Global Store US
About the Author
Rubayeet Islam is a software developer with over four years of experience in large-scale web application development on open-source technology stacks (LAMP, Python/Django, Ruby on Rails). He is currently involved in developing cloud-based distributed software that uses MongoDB as its analytics and metadata back-end. He has also spoken in seminars to promote the use of MongoDB and NoSQL databases in general. He graduated from University of Dhaka with BS in Computer Science and Engineering.
No customer reviews
|5 star (0%)||0%|
|4 star (0%)||0%|
|3 star (0%)||0%|
|2 star (0%)||0%|
|1 star (0%)||0%|
Review this product
Most helpful customer reviews on Amazon.com
This books starts out with an explanation of what MongoDB is, how to install it and how to connect to it with PHP. Chapters 2 and 3 walk through building simple applications (a blog and a session manager). Chapters 4 and 5 deal with aggregations (MongoDB's built in count, group and distinct functions) and an introduction to how map/reduce is implemented in MongoDB. Chapter 6 deals with using MongoDB in addition to a "standard" RMDBS (in the example it uses MySQL) and points out the benefits and problems with doing this. Chapter 7 walks you through using GridFS which is how you store large files in MongoDB, and explains how the file is split and stored in chunks. Chapter 8 goes on to outline using MongoDB for storing and accessing geolocation information, and how you can use HTML 5 and the Google geolocation API in your application. Chapter 9 explains how to make your database more secure by using authentication and more performant by profiling and adding indexes to your documents. Chapter 10 discusses the use of a couple of web interfaces that can be used with MongoDB for administration tasks. Finally there is a section with the "pop quiz" answers.
During the book there are several "pop quizes" to help test you on what was just learned. There are numerous chances to code and with each section of code the author walks through explaining what is going on. There are even some sections (called "Have a go hero") that Rubayeet "challenges" you to expand on what the code presented earlier does. While this is a good thing, there is no section in the book that you can refer to so you can check your code or get help when you have issues like there is with the "pop quizes".
This is a good book that will help you get up to speed on using MongoDB as your backing data store, but there were several places in the code that had errors that took me a while to figure out what was causing the program to not work properly. There was also times when the walk through of the code didn't always line up with the previous examples, along with general typos and editing mistakes. One thing that bothered me the most was in the code that was only PHP the code never contained the ending '?>' characters. I am also not sure I would agree with the layout of the book (geospatial indexes where discussed before normal indexes).
I think with a second round of editing, this is a book that I would have no problems with recommending. As it stands now, I'd rate it about a 6 or 7 out of 10. This is not a knock against the author as I feel he has a good grasp on the subject, just that the book didn't have a polished feel too it.
My take on this subject is from the Database Administrator point of view, and here I found the book to be a little light on substance, but this book is clearly not marketed to that segment but to developers. Some of the advanced topics covered in this book are MapReduce, GridFS and Geospatial location and on these topics this book excels.
This book would be a fine addition to any bookshelf and will have a special place in mine. It clearly shows the power of MongoDB and PHP in a Web 2.0 environment and would be a great reference to anyone in Web development.
As the title indicates, the author focuses on using MongoDB to provide the storage back-end for PHP web applications. After a short introduction to the basic concepts behind MongoDB, we get a walk-through of installing MongoDB and getting PHP to talk with it, before starting in on building a blog. It's a safe example, since a blog is a reasonable candidate for a document store like MongoDB. It also provides a way to address one of the big design questions when using MongoDB, which is when to use embedded documents and when to store references. To my mind the question is glossed over a bit too quickly, but it is discussed.
Additional projects like session management and geolocation get a bit off-track, as a lot of time is spent describing the concepts rather than MongoDB, but the meatier sections that get into topics like Map-Reduce (creating a tag cloud) and web analytics are certainly worthwhile. I did feel that the chapter reviewing two MongoDB management tools could have been skipped, since the information will likely be out of date within a couple of months.
Overall, this is a reasonable beginner's guide, as its subtitle indicates. There's a great deal of PHP code filling its pages, which will give you a starting point if you need a boost to get going. Reading through it will give you the basics about MongoDB, and a bit more -- hints on indexing, optimizing, and Map-Reduce will keep you running. A lot of the information felt cursory, and I would have appreciated more depth, but that's probably just me wanting more than a beginner's introduction. Perhaps more relevant were my concerns about the copy-editing and grammar. I didn't notice any actual errors, but the grammar is quite rough and it made me wonder. It may make me old-fashioned these days, but I still expect my books to be well-edited and grammatically correct. The issue didn't get directly in the way of the information to be had, but it's still a pity. Nonetheless, if you're a PHP developer and you're looking to get started with MongoDB, you'll doubtless find this a useful book.