Hello Todd,

Monday, May 15, 2006, 6:03:14 PM, you wrote:

> On Mon, 2006-05-15 at 06:51 -0400, Greg Beaver wrote:
> ...
>> Side note: calling functions statically that do not have a static
>> modifier causes E_STRICT.  Hello PEAR::isError()
>> 
>> This is of course going to be a fatal in PHP 6, but it is now the most
>> common E_STRICT I see in PHP4-based code.

> Yikes!  Please say it isn't so!  There are significant portions of
> our app that rely on php's ability to make "semi-static" calls.  It
> would never be worth the cost of upgrading to php6 if that were the
> case.

> It's not the best style, but we have scores of classes that
> have several members in common and need common functionality
> for those members.  In php5 and earlier, you can add helper
> classes and call helper functions with the "::" syntax.  The
> helper can access all of the members of the main class as if
> it were its own.  The "right" thing to do would be to step
> back in the design and move the members to other classes,
> etc., but as practical matter, sometimes that's just not
> worth the effort to make such drastic changes to code that's
> developed by accretion.

> Another use is that we have core data that most classes keep
> in an "$application" member variable.  It's sort of like a
> global, but to allow for a couple instances of a class to
> work on different app data, we've taken the member route
> instead of the global route.  php is a nice language for this
> in that we don't have to pass $application to every static
> function we call.  The static function has access to
> $this->application, because everyone who calls the static
> function has the application member.

> Please don't fatal error this code in php 6!

> Thanks for listening,
> Todd


Ever heared of the concept named root class?

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to