#29311 [Opn]: Cannot override mysqli constructor
ID: 29311
User updated by: mc at webheberg dot com
Reported By: mc at webheberg dot com
Status: Open
Bug Type: Class/Object related
Operating System: Linux Debian
PHP Version: 5.0.0
New Comment:
So I use the mysqli procedurial methods in my class (which doesnt
extend mysqli anymore) with a global $link variable. Works fine, but is
not very "PHP5 like".
Previous Comments:
------------------------------------------------------------------------
[2004-07-21 23:22:21] mc at webheberg dot com
Note that it was working fine with my PHP5 RC2 and the man who reported
http://www.rb21.com/news/index.php?t=rview&th=40368
tells it was also
working fine with RC3
------------------------------------------------------------------------
[2004-07-21 23:16:10] mc at webheberg dot com
Description:
------------
I wrote a small class (named Mysql) that extends mysqli, but when I
make a new Mysql(), it returns :
Fatal error: Can not call constructor in .... which corresponds to line
with parent::__construct
It seems that we can just override mysqli methods, but not the
constructor. I copy paste my code below.
I found someone who recently reported this problem there :
http://www.rb21.com/news/index.php?t=rview&th=40368
and didnt get any response, so I really think it's a bug.
(I'm using PHP5 stable with mysqli, without mysql, and with mysql
4.1.3-beta libraries)
Reproduce code:
---------------
class Mysql extends mysqli {
static $db_host="*";
static $db_user="*";
static $db_pass="*";
static $db_name="*";
function __construct() {
parent::__construct(Mysql::$db_host, Mysql::$db_user,
Mysql::$db_pass, Mysql::$db_name);
}
function query($query) {
return parent::query($query);
}
}a
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=29311&edit=1
Thread (4 messages)