Customer Rating:      Summary: Great Framwork Book! Comment: Kevin McArthur is a self-taught entreperneur and opensource developer from Edmonton Alberta. Kevin has been running a very successful PHP application development studio for over 7 years. Additionally Kevin took time to write Pro PHP: Patterns, Frameworks, Testing and More, published by Apress.
The book really lives up to the name. It disucsses in great details the framworks that are most popular including Zend Framework. Kevin has what seems an infinite amount of knowledge on Zend Framework, and a quick Google search will reveal he is quite active is sharing that information.
I was a little let down on the Testing and Code Control sections of the book. I felt like Kevin mearly skimmed, and could have really dug into more detail, espeically about testing.
In talking about patterns for PHP Kevin reinforces some of the basics of good programming, and explains the pros and cons of each style of framework. You can tell he has spent his fair share of time in each of the patterns discussed.
Overall if you are thinking about playing with patterns and frameworks this is the book for you. Don't look for any golden knowledge about testing, but the rest is gold!
Customer Rating:      Summary: Uneven but well written Comment: [reviewed by XPSD member Woody Zuill]
One common technique I use when looking at a book I am thinking of
buying is to flip through to a dozen or so random pages and read a
paragraph or a bit of whatever is on that page. If most of these chance
peeks reveal something interesting or useful to me, then I figure I'll
probably get enough out of the book to make it worth buying. I did that
with this book, and found plenty of interesting stuff. However, in the
reading of the book I was a bit disappointed.
First, the bad:
The book attempts to cover too much for the number of pages. The Title
is clear enough, but the subtitle ("Patterns, Frameworks, Testing, and
More") coupled with the introduction, which states "In this book, you
will learn how to make the most of your PHP programming, from a detailed
understanding of OOP theory, to frameworks and advanced system
interoperability" promises a great deal more than what the book
delivers. For example, the "detailed understanding of OOP theory" is
provided by a 7-page chapter on "Abstract Classes, Interfaces, and
Programming by Contract" and another chapter covering static members.
This is sufficient to describe a little about the mechanics of OOP in
PHP, but it's a stretch to call it even an introduction to the theory of
OOP. Pretty much the same can be said for the coverage of Patterns,
Frameworks, and Testing. I am not exactly sure what "advanced system
interoperability" is, I assume the author is refering to web services
which is covered to some degree.
To me, the book seems disjointed, and more like a collection of magazine
articles than a cohesive book. There is unevenness in the level of
coverage from topic to topic. Some chapters are thorough enough to be
considered complete, or at least a good introduction, such as the
chapters on Exceptions and Reflection, and all of "Part 3, The Standard
PHP Library". Each of these chapters would make a nice article. Others
contain a bare introduction, like the "Testing, Deployment, and
Continuous Integration" chapter. In some cases, there isn't enough
information to even consider it an introduction (such as the chapter on
AJAX and JSON.) It probably would have been better to replace these
chapters with more coverage of one of the other topics. Particularly,
for example, there is a chapter on what is coming in PHP6. It seems
very out of place and this sort of info can be easily found by a web
search.
Now, the good:
Kevin McArthur writes cleanly and I found everything easy to read and
understand. He is obviously very knowledgeable about programming in PHP
and presents his ideas clearly. I learned a lot from the topics that
were sufficiently covered (such as the chapters on Exceptions,
Reflection, and the SPL.) I feel that there was enough substance to get
me started on these topics.
Additionally, I like Kevin's "Just the Facts" synopsis at the end of
each chapter. In a paragraph or two he summarizes what was just
presented in a very succinct manner without any of the fluff or filler
we so often see in the typical programming book (like the "what's coming
in the next chapter" blurbs: I find that I can easily turn the page to
see what is "coming"!) Similarly, I enjoyed most of his chapter
introductions - he did a good job of describing what he was going to try
to cover.
Should you buy the book?
"Pro PHP" wouldn't be my first choice for a "PRO" level PHP book, but I
got enough out of it that I don't regret having read it. How is that
for a good sound bite?
Customer Rating:      Summary: Professional! Comment: This book is quite a good book on PHP. I would by no means recommend it to beginners.
I like how it dives into the zend frame work and different methods of testing. This book is not how to learn PHP at a advance level it is instead to learn how to use PHP in the formal software development approach. That's what makes this book so enjoyable.
I would recommend it to people going to build a enterprise size PHP web application. It has all the tools, tips and trick you need to do it.
Customer Rating:      Summary: Something to learn, even for advanced PHP developers Comment: As an experienced PHP developer and author myself I was delighted that Pro PHP showed me a number of new techniques that I can apply to my own every day development tasks. This makes me confident that developers of all levels will gain value out of reading this book. I typically like to keep up with recently released books so I know the material that is available, but as somebody who has been programming PHP for almost 10 years I generally don't find new ideas that can be applied to general PHP programming.
Two such examples of this in Pro PHP that helped me are array overloading with the ArrayAccess SPL class and the observer pattern using SplObserver and SplSubject. Firstly, ArrayAccess allows you to access objects (such as reading and writing) as you would with an array. One such example of this is in the PHP SimpleXMLElement class. Secondly, using the observer pattern allows one object to monitor the state of another object and react to these changes as desired. Kevin describes these to the reader and provides solid examples of using them.
An interesting aspect of this book is the chapter dedicated to PHP 6. Although a stable version has not yet been released, Kevin covers the key features that we can look forward to such as namespaces, late binding and native Unicode support.
The other thing that I like about Kevin's style and methods are that they are fairly similar to my own, meaning for the most part I agree with his methods and therefore recommend them to other users as well.
On the whole I would have two minor complaints with this book. Firstly, there is a lot of "conceptual code" rather than practical real-world examples. Having said that, there are so many different ideas in this book that it would be difficult to fit longer examples for these ideas. Secondly, I would've liked to see some more extensive coverage of the Xdebug module. This is a module that I try to use but I feel like I am under using its potential. It is great that Kevin covers it in Pro PHP, but I would've liked to see some slightly more advanced usage for my own benefit.
In summary, I would definitely recommend reading this book, especially if you have been slow to transition from PHP 4 to PHP 5, or if you use PHP 5 but know you don't take full advantage of its Object Oriented Programming features.
Customer Rating:      Summary: Most Excellent Advanced Text Comment: I have been developing web-based, database-driven applications for 12 years using Perl, Java, and, for the past 3 years, PHP. I was a late-comer to PHP because, quite frankly, its early iterations sucked. The committers finally got it right with 5.2 and 6.0 looks like they are staying on-track.
I went through any number of online tutorials and "Learn PHP in 24 Hours" books in the beginning and they were fine for "Hello World" applications. But as my need for sophistication rapidly grew, I found a distinct lack of good, readable texts that could function not only as tutorial but as reference as well. I went through a disappointing array of O'Reilly, Manning, Osborne, Addison-Wesley, etc. books, each of which lacked that crucial combination of clarity, accuracy, and scope. Then I happened to chance upon Apress' publication of "Pro PHP Development."
I just finished reading "Pro PHP Development," and when I say I "finished reading" it, I mean exactly that - I read it cover-to-cover. Kevin McArthur has the uncommon talent of writing a technical manual in prose. Unassuming vernacular makes reading easy, instead of the more typical struggle with every idea and re-reading sentences and paragraphs after that "HUH???" experience forces wonder at the author's point and intent. Concrete, concise, and useful examples demonstrate the textual subjects in clear unambiguous source code. And where appropriate and useful, McArthur introduces aspects of PHP 6.0. The coverage of some of the most useful objects in the SPL and the extensive treatment of the Zend MVC Framework is worth the price of admission in themselves.
In summary, "Pro PHP Development" is right up there with the finest technical literature I've read and has earned a place on my bookshelf (lesser texts get relegated to eBay). It's a keeper. Until the next edition!
Mark Galbreath
Annapolis, MD
|
|