On Wed, 2006-08-02 at 16:07 +0200, Derick Rethans wrote: > On Wed, 2 Aug 2006, Zeev Suraski wrote: > > > My recommendation: > > - Add a new flag to methods (at the implementation level) that will allow to > > flag them as 'strict' > > Have an example of what you mean here?
Maybe something like the following... <? class foo { function bleh( $p1, $p2 ) { echo "Bleh: $p1, $p2\n"; } } class fee extends foo { loose function bleh( $p1 ) { parent::bleh( $p1, $this->prop ); } } ?> I think I like it :D In this case, no E_STRICT would be issued since we specifically declared it as loose. if no "loose" declaration had been added then as Zeev suggested an E_STRICT would be issued. If a "strict" declaration was added then an E_ERROR would be issued. This would provide backwards compatibility with an E_STRICT hit, and forward compatibility without the E_STRICT hit so that your code doesn't look erroneous. I think E_STRICT should enforce PHP rules, not OOP rules, so in that sense no E_STRICT would be fired since the code follows the rules of PHP development. Someone correct me if that is not PHPs intended use of E_STRICT. Cheers, Rob. -- .------------------------------------------------------------. | InterJinn Application Framework - http://www.interjinn.com | :------------------------------------------------------------: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `------------------------------------------------------------' -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php