ID: 29780
Updated by: [EMAIL PROTECTED]
Reported By: d dot khan at ventigo dot com
Status: Open
Bug Type: Zend Engine 2 problem
-Operating System: Linux (Gentoo)
+Operating System: *
-PHP Version: 5.0.1
+PHP Version: 5.*
New Comment:
HINT to all extension developers:
Constructors of internal classes need to have the name '__construct'
rather that the class's name.
Previous Comments:
------------------------------------------------------------------------
[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:
<?php
class test extends stdClass {
function __construct() {
echo 'Called in child';
}
}
$test = new test;
Class rltxPDO extends PDO {
function __construct() {
echo 'Called in child 2';
}
}
$test2 = new rltxPDO;
?>
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:
<?
class test extends stdClass {
function __construct() {
echo 'Called in child';
}
}
$test = new test;
?>
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