Hi Marcus,

Thanks for your clear answer :). What are the future plans concerning this issue? Will I be able to just extend this class as I want? For which version is that planned? The answers to these questions heavily influence design choices I have to make now.

Oh, and I'm curious why the article on Zend.com mentions that extendability is a key feature of mysqli. Even though it cannot be extended.. :)

Bert


Marcus Boerger wrote:

Hello Bert,

some of the internal classas cannot be extended and unfortunatley they are
not marked as 'final' right now. For you that means you need to extend it
by a proxy class that reimplements the original class protocol and uses
the original class as a property.

Friday, May 21, 2004, 2:52:08 PM, you wrote:


Good afternoon!


Could anyone explain what we're supposed to do with internal classes like the mysqli class.


In an article on Zend.com (http://www.zend.com/php5/articles/php5-mysqli.php) the fact that the object oriented interface can be extended is brought as a major feature. But it seems that it's impossible to extend the mysqli class, see my bug at http://bugs.php.net/bug.php?id=28430.


What I want is this. I need some custom logging for my database layer. So I want to extend the mysqli class and overwrite one or two methods and add some custom methods.


Shouldn't I be able to just do:


class foo extends mysqli
{
}


$foo = new foo();


Right now this doesn't work - the variable $foo->thread_id isn't available for example.


Is this intended behaviour?


Bert Slagter






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



Reply via email to