GetTextbooks.co.uk  
 Compare Prices & Save up to 90%
Search by ISBN, title, author, etc ...

Login | Sign up | Settings | My Wish List 


Pro PHP: Patterns, Frameworks, Testing and More (Pro)

by Kevin McArthur

ISBN-10: 9781590598191
ISBN-10: 1-59059-819-9
ISBN-13: 9781590598191
ISBN-13: 978-1-59059-819-1
Paperback
2008-03-24
Apress


Find Lowest Price

Editorials


Product Description

Taking care to focus solely on those topics that will have the most impact on experienced PHP developers, Pro PHP is written for readers seeking to take their understanding of both PHP and sound software development practices to the next level. Advanced object–oriented features, documentation, debugging, software patterns, and the Standard PHP Library are just a few of the topics covered in extensive detail.

Author and noted PHP expert Kevin McArthur also examines emerging practices and trends such as the MVC architecture as applied to PHP, with special emphasis placed upon the increasingly popular Zend Framework.

With Ajax and web services crucial to the success of todays web applications, the book concludes with several chapters covering JSON, the SOAP extension, and advanced web services topics.

If youre seeking to go beyond the basics, Pro PHP is the book for you.


Reviews


Uneven but well written
[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?

Professional!
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.

Something to learn, even for advanced PHP developers
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.

Most Excellent Advanced Text
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

An Informative Book
This book focuses on some advanced technologies and latest developments related to php. The targeted readers are those who already know php programming but would like to know how to work with php in a way to adopt mainstream software and Internet development technologies.

For example, the book collectively describes about phpdoc, phpunit, xdebug, as well as subversion, phing, and xinc. The examples and steps provided in the book allow the reader to follow through relatively at ease. Nevertheless, the reader may want to know that all install and setup described in the book are based on Linux environment.

In the chapter of Reflection API, the reader will get a chance to study some use cases about this advanced extension that normally only java or C# programmers could enjoy through their build in language features today. The chapters about Standard PHP Library (SPL) give the reader the ideas of how to apply OOP libraries for php programming. For instance, instead of using a set of low-level file manipulative methods, the reader now might think about using SPLFileInfo object to represent and access file info. The book also covers some design techniques on php such as exception handling, MVC paradigm, and a few design patterns, which are informative.

The topics of Zend framework and Web 2.0 including ajax, web services, soap, and certificate authentication, provide a good entry point for those who want to know how to associate php to web design architecture and how php play its role within web deployment.

For about 300 pages, this book covers a lot of info. The topics are explained in a clear and straightforward manner for easier read. Additionally, the reader may find the writing is pretty concise in general and still leaves room for the reader to further investigate the issues outside the book. The companion download-able source code from the website is as expected and helpful.

Needless to say, some sections could be better organized. The Part 1 OOP and Patterns only list a few out of many common regarded patterns and OOP ideas, and other Parts of the book also mention some other patterns along their ways.

Overall, this book deserves a score 8 out 10 and should be as an eye opener and handy for those who like to see some advanced php subjects demonstrated in one place.


Home | Browse | Professors | Merchants | Webmasters | Contact Us

[ United States | Canada ]

Copyright © 2003-2008 GetTextbooks.co.uk