PHP Objects, Patterns and Practice and over one million other books are available for Amazon Kindle. Learn more

Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Start reading PHP Objects, Patterns and Practice on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

PHP Objects, Patterns and Practice, Third Edition [Paperback]

Matt Zandstra
4.5 out of 5 stars  See all reviews (2 customer reviews)
List Price: CDN$ 50.23
Price: CDN$ 29.78 & FREE Shipping. Details
You Save: CDN$ 20.45 (41%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 4 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Friday, October 3? Choose One-Day Shipping at checkout.

Formats

Amazon Price New from Used from
Kindle Edition CDN $22.07  
Paperback CDN $29.78  
Save Up to 90% on Textbooks
Hit the books in Amazon.ca's Textbook Store and save up to 90% on used textbooks and 35% on new textbooks. Learn more.
There is a newer edition of this item:
PHP Objects, Patterns, and Practice PHP Objects, Patterns, and Practice
CDN$ 36.33
In Stock.
Join Amazon Student in Canada


Book Description

June 7 2010 143022925X 978-1430229254 3

This book takes you beyond the PHP basics to the enterprise development practices used by professional programmers. Updated for PHP 5.3 with new sections on closures, namespaces, and continuous integration, this edition will teach you about object features such as abstract classes, reflection, interfaces, and error handling. You’ll also discover object tools to help you learn more about your classes, objects, and methods.

Then you’ll move into design patterns and the principles that make patterns powerful. You’ll learn both classic design patterns and enterprise and database patterns with easy-to-follow examples.

Finally, you’ll discover how to put it all into practice to help turn great code into successful projects. You’ll learn how to manage multiple developers with Subversion, and how to build and install using Phing and PEAR. You’ll also learn strategies for automated testing and building, including continuous integration.

Taken together, these three elements—object fundamentals, design principles, and best practices—will help you develop elegant and rock-solid systems.

What you’ll learn

  • Learn to work with object fundamentals: writing classes and methods, instantiating objects, and creating powerful class hierarchies using inheritance.
  • Master advanced object-oriented features, including static methods and properties.
  • Learn how to manage error conditions with exceptions, and create abstract classes and interfaces.
  • Understand and use design principles to deploy objects and classes effectively in your projects.
  • Learn about design patterns, their purpose and structure, and the underlying principles that govern them.
  • Discover a set of powerful patterns that you can deploy in your own projects.
  • Learn about the tools and practices that can guarantee a successful project including unit testing; version control; build, installation, and package management; and continuous integration.

Who this book is for

This book is suitable for anyone with at least a basic knowledge of PHP who wants to use its object-oriented features in their projects.

Those who already know their interfaces from their abstracts may well still find it hard to use these features in their projects. These users will benefit from the book’s emphasis on design. They will learn how to choose and combine the participants of a system, how to read design patterns, and how to use them in their code.

Finally, this book is for PHP coders who want to learn about the practices and tools (version control, testing, continuous integration, etc.) that can make projects safe, elegant, and stable.


Special Offers and Product Promotions

  • Join Amazon Student in Canada


Frequently Bought Together

PHP Objects, Patterns and Practice, Third Edition + JavaScript: The Good Parts
Price For Both: CDN$ 48.58

  • JavaScript: The Good Parts CDN$ 18.80

Customers Who Bought This Item Also Bought


Product Details


Product Description

About the Author

Matt Zandstra has worked as a Web programmer, consultant and writer for a decade. He has been an object evangelist for most of that time. Matt is the author of SAMS Teach Yourself PHP in 24 Hours (three editions), and contributed to DHTML Unleashed. He has written articles for Linux Magazine and Zend.com. Matt works primarily with PHP, Perl and Java, building online applications. He is an engineer at Yahoo! in London.



Matt lives in Brighton with his wife Louise, and two children, Holly and Jake. Because it has been so long since he has had any spare time he only distantly recollects that he runs regularly to offset the effects of his liking for pubs and cafes, and for sitting around reading and writing fiction. Learn more on Matt's website, getInstance.


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

3 star
0
2 star
0
1 star
0
4.5 out of 5 stars
4.5 out of 5 stars
Most helpful customer reviews
1 of 1 people found the following review helpful
4.0 out of 5 stars Bien Expliquer April 29 2012
By magefeb
Format:Paperback|Verified Purchase
Ce livre explique bien les fondamental du PHP.
Malgree qui ne sois qu'en anglais, les explication son tres bien.

Je ne m'attendais pas apprendre tant de chose, car je connaissais deja le PHP mais de base.
Ce livre est excellent pour tout ceux qui veulent entree en profondeur dans PHP ou aller a l'etape suivante.

Il a tant de commande qui nous simplifie la vie et qui nous evite de cree 3 fois plus de function car c'est deja build in dans PHP.
Was this review helpful to you?
5.0 out of 5 stars Great book Oct. 12 2013
By victor
Format:Paperback|Verified Purchase
These are great PHP book.
This book clearly explains the basic PHP.

I did not expect to learn so much, because I already know PHP but basic.
This book is excellent for anyone who wants entry deep into PHP or go to the next step.
Would definitely recommend these for everyone.
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.4 out of 5 stars  40 reviews
51 of 51 people found the following review helpful
4.0 out of 5 stars Very good book, despite some muddled spots March 20 2008
By Kevin Major - Published on Amazon.com
Format:Paperback
I've owned PHP Objects, Patterns, and Practice for over a year, and it's still one of those books I go back to. It's a well written, generally well executed book on what constitutes Object Oriented Programming in the PHP5 environment.

First, the good news:

This book is a crash course on OOP design and thought. It borrows heavily from two monumentous texts in the field - the Gang of Four's book, and Java Enterprise Patterns - and condences their essences into an easy to swallow form. The basics are all here: how to create well designed classes, how to instantiate objects, etc. There's a hidden gem in the introductory portion of the book: the Reflection API. This API is built into PHP, and gives the coder unparalleled access to the guts of the classes and objects in a given project. It definitely has its uses.

The patterns are all generally useful, with the only exception perhaps being the Interpreter pattern. I'm just not convinced that creating one's own command line interface syntax is necessary, given that PHP projects aren't usually interactive. It seems like something best left to an appendex, or extra web content.

Now, for the bad news:

Some sections of the book, especially some of the code examples, could've used a better editor. Small things, the kinds of things that can trip up inexperienced coders, crop up. Using private properties instead of protected. Using the wrong variable name between examples. That sort of thing.

There's also a lack of a satisfying conclusion, so-to-speak. Zandstra himself claims that generating objects is perhaps the hardest thing to demonstrate. Yet, most of his examples (excepting the patterns late in the book) are canned. Objects and classes exist only to drive the theory behind a pattern home. Few real world examples are given. Admittedly, some patterns are simple to transfer to a real project, but concrete examples of that nature could serve to further cement his point. For example, it's not difficult to see how the Composite pattern would work well for dealing with an XML document, but would there ever be a need for a Visitor object to act on one?

Finally, and in continuation of my last criticism, Zandstra never touches one of the things PHP is used the most for: form handling. Can forms be represented by classes? Could forms be generated by objects (perhaps using a Factory pattern)? What about form validators? Wouldn't the Strategy or Decorator pattern work? Supplementing his online Civilization game and CLI/quiz examples with this would've really put the book over the top.

Still, with that said, PHP Objects, Patterns, and Practice is still a text that gets far more right than wrong. It's definitely a must-buy for those PHP coders looking to write modular code.
22 of 22 people found the following review helpful
4.0 out of 5 stars Kindle version has one small problem Feb. 16 2011
By Andrew M Heath - Published on Amazon.com
Format:Kindle Edition|Verified Purchase
In terms of content, this is an excellent book. It is probably a little too heavy for absolute PHP beginners, unless you're already well-versed in other modern programming languages. For people who only know PHP, or who don't know any languages and are looking to start with PHP, you should make sure you have a strong grasp of procedural PHP before heading this way.

That being said, the Kindle version has one major issue: the code samples. They look like someone printed them out with a dot-matrix printer, then scanned them at 150 DPI, saved as BMPs to preserve all the visual errors on the scan, and pasted them into the book as images. In other words, the code samples are not text at all - they are really, really crappy images and you will often find yourself squinting to make out all the details of the fuzzy "text".

This isn't a dealbreaker - after all, any programming book you buy today has downloadable samples of all code available somewhere on the Internet... but it IS an annoyance. Why they couldn't produce the code in real text with an alternate font I have no idea. Why they couldn't present higher quality images of the code I also have no idea.

Suffice to say, if you buy this for the Kindle, expect 5 star content with 3 star presentation - thereby bringing us to 4 overall.
19 of 19 people found the following review helpful
5.0 out of 5 stars Best OO book on PHP ever March 18 2008
By Stats - Published on Amazon.com
Format:Paperback
This is the best book I've read on Object Orientated PHP. This book does a great job of explaining the ins and outs of OO in PHP 5. As a self taught PHP developer of 5 years, I had lots of questions about "am I doing this right", "how should this be done" and the book has answered most of those questions.

I'd recommend the book to those who already have an advanced PHP knowledge but are looking to take their code another step forward by improving it's re-usability. It's also a great read if you want to find out the power that PHP 5 has over PHP 4.

Note: this book doesn't contain code that you can use. It teaches you the principles that you should use in your own projects.
12 of 13 people found the following review helpful
4.0 out of 5 stars Overall a good investment Nov. 17 2008
By Michael Ekoka - Published on Amazon.com
Format:Paperback
It's been about a year and a half since I've read this, I have the first edition, but I think most of what I write is still relevant for this second one.

At the moment, very few php books come close in trying to actually present the language as a real contender for serious and professional web development. This book attempts just that.

PHP has come a long way since its inception, but the teaching material has not really caught up and the community is still pestered with bad code, architecture and practice. This book is an eye opener as it presents php for what it can be: a convenient and flexible tool that, in the right hands, can tough up and allow a programmer to get work done efficiently. It's not to say that php can do everything, but before you blame it as the root of all evil, you should definitely understand how you, the programmer, can work at improving the quality of your code. This text offers some insight into tried and true practices, usually well established in other more mature communities.

There are 3 parts:

The Objects part is a nice introduction to many goodies in the new PHP5 object model (the whole thing is php5 centric).

Some of the topics covered in the section matter more than others imo, since in your practice you'll encounter and will definitely draw some values from them. So pay particular attention to: Autoloading, Exception handling, magic methods, namespaces, reflection.

Because PHP is still a language in search for an identity, it borrows features, coding styles and development philosophy from other languages. Despite the fact that the two are fundamentally very different, Java has heavily influenced PHP's OO design and syntax. However, some of the PHP reimplementation just ended up being "simili" stuff, rather than the real thing. That is, it has the Java flavor, but doesn't actually carry any caffeine. Unfortunately, the book doesn't dig into those details and just serves the Kool-Aid as is.

Another complaint is that you are shown many tools and given a description of how they work, but there is little depth as to when to actually use them. Java and Python programmers borrowing PHP for a project might have an easier time translating this knowledge into actual practice, since their community would have likely previously exposed them to situations these tools were meant for.

If I had to pick one particular topic that I felt was missing from the Objects section, it would be an intro to the SPL. Look for it.

[aside]
If you would allow me some personal and opinionated advices (be forewarned that a lot of these go against the current dogma in PHP):
- private/protected/public: it's definitely useful to understand the _idea_ behind having a public and a private programming interface, but it's a bit of a fallacy to enforce this with actual language constructs in a dynamic technology like PHP, since it doesn't actually provide much benefits to the interpreter. Who are we then "protecting" the code from exactly, the programmer? When other concepts like inheritance get involved, things get even more cumbersome, because PHP is missing some features that allow a technology like Java to get away with it all (method overloading anyone?). An alternative approach is to leave everything public and then follow the widely adopted _convention_ to prefix what is considered private with an underscore. Programmers using your API will get a hint that the $_purifiedData property was probably not meant to be directly accessed, but in case they decide to transgress that rule, they can. If you still insist on enforcing visibility though, then only use the protected and public keywords, forget private altogether.
- inheritance: learn how it works, but most importantly, learn when to avoid it and remember to strive for "Composition over Inheritance" (see Patterns section).
- interfaces: Learn about type-checking and type-hinting and use interfaces for that purpose specifically. You can declare constants within your interfaces, but I'd recommend against also declaring methods in them. It will only constrain your APIs, since PHP doesn't allow method overloading like Java would (this is one thing many PHP so-called experts are completely oblivious about when they merrily sprinkle their code with interfaces). Another route altogether would be to simply stop relying on interfaces and type-hinting and adopt 'duck-typing', an approach more natural to dynamically-typed languages such as Python, Ruby and I dare to say, PHP.
[/aside]

The next section of the book is on Patterns. It's not so much about PHP than it is an attempt at making a less crappy programmer out of YOU. If you're relatively new to programming and you've chosen PHP to make your first steps, please read this section of the book, for the sake of minimizing the damage you certainly will do. This is an intro to better code organization and to the world of design patterns as they can be applied to php. If you've heard of such things as Singleton, Observer, Registry, Controller, MVC and are still scratching your head, this could apply to you to.

The Practice section was a bit of a let down. If the author cares for some suggestions:
- forget CVS: there are currently a number of popular and very good open source SCMs, Git and Mercurial currently leading the pack. At the very least, teach the increasingly outdated SVN, but this book would actually gain some value if you only just mentioned the concept of revision control, without actually naming CVS.
- forget PEAR: instead have a chapter on frameworks, which nicely ties up with what the book tries to teach.
8 of 8 people found the following review helpful
4.0 out of 5 stars Great Book May 16 2011
By Trevor Henke - Published on Amazon.com
Format:Paperback
PHP Objects, Patterns, and Practice is the book I've been looking for. As a novice PHP developer it answered a lot of the questions I've had about the next steps to becoming an effective developer. Through the PHP object model, design patterns, and then putting it all together this is a must have book for any one wanting to take the next steps in their PHP knowledge.

The PHP object section is worth the cost of admission alone with this title. Not only covering the updates to PHP 5.3 but showing how to use them. From the coverage of the php "magic functions" to those of you struggling to put together a solid object model this is one of the most clearly written descriptions I've read. The examples of how to use abstract classes and inheritance effectively are especially helpful and setup a great transition to working with design patterns.

Design Patterns make up the meat of this book, and rightly so. I finally get the purpose of design patterns and how to use them with my work. Although, I'm by far not an expert on the topic, from a learning perspective, it is a spot on effective at teaching the principles of this sometimes complicated area.

The Practice portion of this book is the only area I could see some better coverage on. While the topics and tools are covered expertly, it feels dated. From my experience with the PHP/Open source community, the tools covered are being eclipsed by distributed version control, and tighter IDE support. While I know folks are still using SVN, it would have been nice to see an updated chapter on using git or Mercurial.

PHP Objects, Patterns, and Practice is an excellent book. If you are wanting to learn more about the very important topics covered, then this is probably the best starting point out there.
Search Customer Reviews
Only search this product's reviews

Look for similar items by category


Feedback