Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

rooJSolutions Blog:
Watch-out PHP 5.3.7+ is about.. and the is_a() / __autoload() mess.
Sep 02, 2011 @ 10:43:24

New from the rooJSolutions blog there's a post pointing out an issue that PHP 5.3.7 has broken the is_a functionality in a lot of cases. The post talks some about what's broken and how you can work around it if you're effected.

The key issue was that 5.3.7 accidentally broke is_a() for a reasonably large number of users. Unfortunately the fixup release 5.3.8 did not address this 'mistake', and after a rather fruitless exchange I gave up trying to persuade the group (most people on mailing list), that reverting the change was rather critical (at least pierre supported reverting it in the 5.3.* series).

This new issue was causing some strange errors to pop up in his code because of a parameter type change in the is_a call, updating the first parameter to be an object instead of a class name. The is_a() call sends its requests to __autoload in some cases and the string->object mismatch of those parameters causes errors to be thrown. His workaround is, in your checking, just be sure to call an is_object first before passing things off to be is_a() checked and autoloaded.

tagged: bug isa autoload parameter change string object


Rob Allen's Blog:
On models in a Zend Framework application
Dec 15, 2008 @ 07:58:19

In this new post to his blog Rob Allen looks at models in a Zend Framework application, specifically what thy're for and what they can do.

Let's talk about writing models that communicate with databases within a Zend Framework application. It's a popular topic at the moment as there's been a few threads recently on the ZF mailing lists about creating models.

He looks at the two different types of relationships they have to offer - "is a" and "has a" - with some code examples illustrating each. For the "has a" relationship (since its a bit more complex) he creates a gateway class that acts as an interface to the user information allowing for method calls to things like fetchAllInLastNameOrder, setFromArray and fetchUserById.

tagged: zendframework application model hasa isa tutorial