#29780 [Opn->Fbk]: Constructor isn't called if a class is extended from a built in class

2004-08-28 Thread tony2001
 ID:   29780
 Updated by:   [EMAIL PROTECTED]
 Reported By:  d dot khan at ventigo dot com
-Status:   Open
+Status:   Feedback
-Bug Type: Zend Engine 2 problem
+Bug Type: Unknown/Other Function
 Operating System: *
 PHP Version:  5.*
 New Comment:

Works fine for me with latest PHP and PDO.
Btw, this is not ZE problem, reclassifying.


Previous Comments:


[2004-08-26 20:32:26] [EMAIL PROTECTED]

HINT to all extension developers:

Constructors of internal classes need to have the name '__construct'
rather that the class's name.



[2004-08-25 22:46:08] d dot khan at ventigo dot com

You example works - mine doesn't. It seems to be an oddity with
extensions...

Example code:


Output:
Called in child
Warning: PDO::__construct() expects at least 1 parameter, 0 given in
/home/shares/development/khan/wandern/html/test.php on line 19



[2004-08-23 18:20:12] [EMAIL PROTECTED]

This code:

works fine and outputs 'Called in child' for me.
Please, check it one more time and/or try newer snapshot.



[2004-08-21 11:58:01] d dot khan at ventigo dot com

Description:

Hello,

maybe this is bogus but I found a situation where the OOP engine
doesn't behave as - at least I - would expect.

I tried to extend the PDO extension and my local construct method isn't
called.
The engine always calls the parent construct method.

Greetings

Daniel Khan

Reproduce code:
---
Class rltxPDO extends PDO {

function __construct() {
echo 'Called in child';
}

public static function instance() {
static $instance;
if (!$instance) {
$instance = new rltxPDO();
}
return $instance;
}
}

Expected result:

Output: Called in child

Actual result:
--
Warning: PDO::__construct() expects at least 1 parameter, 0 given





-- 
Edit this bug report at http://bugs.php.net/?id=29780&edit=1


#29780 [Opn->Fbk]: Constructor isn't called if a class is extended from a built in class

2004-08-23 Thread tony2001
 ID:   29780
 Updated by:   [EMAIL PROTECTED]
 Reported By:  d dot khan at ventigo dot com
-Status:   Open
+Status:   Feedback
 Bug Type: Zend Engine 2 problem
 Operating System: Linux (Gentoo)
 PHP Version:  5.0.1
 New Comment:

This code:

works fine and outputs 'Called in child' for me.
Please, check it one more time and/or try newer snapshot.


Previous Comments:


[2004-08-21 11:58:01] d dot khan at ventigo dot com

Description:

Hello,

maybe this is bogus but I found a situation where the OOP engine
doesn't behave as - at least I - would expect.

I tried to extend the PDO extension and my local construct method isn't
called.
The engine always calls the parent construct method.

Greetings

Daniel Khan

Reproduce code:
---
Class rltxPDO extends PDO {

function __construct() {
echo 'Called in child';
}

public static function instance() {
static $instance;
if (!$instance) {
$instance = new rltxPDO();
}
return $instance;
}
}

Expected result:

Output: Called in child

Actual result:
--
Warning: PDO::__construct() expects at least 1 parameter, 0 given





-- 
Edit this bug report at http://bugs.php.net/?id=29780&edit=1