Product Description

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 today's web applications, the book concludes with several chapters covering JSON, the SOAP extension, and advanced web services topics.

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

About the Author

Kevin Mcarthur is an open source developer, residing in British Columbia, Canada. He is a self–taught entrepreneur and has been running a very successful PHP application development studio for more than eight years. His company, StormTide Digital Studios, has worked with industry in the United States and Canada to provide scaling solutions for web statistics, VoIP, and print automation. An avid IRC user, Kevin helps to administer one of the largest PHP support organizations, PHP EFnet.

Kevin’s contributions to open source projects, including the Zend Framework, have made him a well–known authority in the industry. He has written several articles for PHPRiot.com on topics such as reflection, the Standard PHP Library, object–oriented programming, and PostgreSQL.

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 GalbreathAnnapolis, MD

16 of 16 people found the following review helpful

3.0 out of 5 starsUneven but well writtenOct. 8 2008

By XPSD - Published on Amazon.com

Format:Paperback

[reviewed by XPSD member Woody Zuill]

One common technique I use when looking at a book I am thinking ofbuying is to flip through to a dozen or so random pages and read aparagraph or a bit of whatever is on that page. If most of these chancepeeks reveal something interesting or useful to me, then I figure I'llprobably get enough out of the book to make it worth buying. I did thatwith this book, and found plenty of interesting stuff. However, in thereading of the book I was a bit disappointed.

First, the bad:The book attempts to cover too much for the number of pages. The Titleis clear enough, but the subtitle ("Patterns, Frameworks, Testing, andMore") coupled with the introduction, which states "In this book, youwill learn how to make the most of your PHP programming, from a detailedunderstanding of OOP theory, to frameworks and advanced systeminteroperability" promises a great deal more than what the bookdelivers. For example, the "detailed understanding of OOP theory" isprovided by a 7-page chapter on "Abstract Classes, Interfaces, andProgramming by Contract" and another chapter covering static members.This is sufficient to describe a little about the mechanics of OOP inPHP, but it's a stretch to call it even an introduction to the theory ofOOP. Pretty much the same can be said for the coverage of Patterns,Frameworks, and Testing. I am not exactly sure what "advanced systeminteroperability" is, I assume the author is refering to web serviceswhich is covered to some degree.

To me, the book seems disjointed, and more like a collection of magazinearticles than a cohesive book. There is unevenness in the level ofcoverage from topic to topic. Some chapters are thorough enough to beconsidered complete, or at least a good introduction, such as thechapters on Exceptions and Reflection, and all of "Part 3, The StandardPHP Library". Each of these chapters would make a nice article. Otherscontain a bare introduction, like the "Testing, Deployment, andContinuous Integration" chapter. In some cases, there isn't enoughinformation to even consider it an introduction (such as the chapter onAJAX and JSON.) It probably would have been better to replace thesechapters with more coverage of one of the other topics. Particularly,for example, there is a chapter on what is coming in PHP6. It seemsvery out of place and this sort of info can be easily found by a websearch.

Now, the good:Kevin McArthur writes cleanly and I found everything easy to read andunderstand. He is obviously very knowledgeable about programming in PHPand presents his ideas clearly. I learned a lot from the topics thatwere sufficiently covered (such as the chapters on Exceptions,Reflection, and the SPL.) I feel that there was enough substance to getme started on these topics.

Additionally, I like Kevin's "Just the Facts" synopsis at the end ofeach chapter. In a paragraph or two he summarizes what was justpresented in a very succinct manner without any of the fluff or fillerwe so often see in the typical programming book (like the "what's comingin the next chapter" blurbs: I find that I can easily turn the page tosee what is "coming"!) Similarly, I enjoyed most of his chapterintroductions - he did a good job of describing what he was going to tryto cover.

Should you buy the book?"Pro PHP" wouldn't be my first choice for a "PRO" level PHP book, but Igot enough out of it that I don't regret having read it. How is thatfor a good sound bite?

10 of 10 people found the following review helpful

5.0 out of 5 starsSomething to learn, even for advanced PHP developersJuly 1 2008

By Quentin Zervaas - Published on Amazon.com

Format:Paperback

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.

4 of 4 people found the following review helpful

4.0 out of 5 starsAn Informative BookApril 17 2008

By Green - Published on Amazon.com

Format:Paperback

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.

5 of 6 people found the following review helpful

2.0 out of 5 starsPoorly titled bookJune 22 2009

By Mason Wolf - Published on Amazon.com

Format:Paperback

I purchased this book, but after reviewing it more carefully, I felt that it wasn't worth the price and returned it. Yes, there's some good stuff on the SPL like other reviewers have noted, but I didn't buy the book to learn about the SPL. The "Testing" mentioned in the title is all of 4 and a half pages, with not even a word about integrating tests into a framework. And sure, there's some treatment of Zend Framework, but I already have a book about Zend Framework.

I bought this book primarily as an extension to my training I got in another Apress book "PHP: Objects, Patterns, and Practice". This book is smaller than that one, has huge overlap with 'Objects, Patterns, and Practice' - and where it overlaps, it's the weaker book. The topic coverage is extremely disjointed, and while not particularly difficult to follow in individual sections, does not seem made for actually reading from cover to cover.

It is maybe enough of an intro to a number of different topics that one could use it as a guide to which keywords they should plug into a search engine in order to find a more thorough article (or perhaps a better book). And again excepting for its treatment of the SPL, it is not quite sufficient for use either as a tutorial nor as a standalone reference manual.

I would advise those considering this book based on its title, to instead get PHP Objects, Patterns, and Practice, Second Edition by Matt Zandstra, along with possibly PHPUnit Pocket Guide (Pocket Guides) and Zend Framework in Action by Allen, Low and Brown.