ID: 27227 User updated by: waboring at 3gstech dot com Reported By: waboring at 3gstech dot com Status: Open Bug Type: Zend Engine 2 problem Operating System: Redhat 9 PHP Version: 5CVS-2004-02-11 (dev) New Comment:
shouldn't matter, but here is my configure line. this is running php as a DSO to apache on redhat 9. ./configure \ --with-oci8=/u01/app/oracle/product/8.1.7 \ --enable-sigchild \ --with-mcrypt \ --with-gd \ --with-png-dir=/usr \ --with-jpeg-dir=/usr \ --with-zlib-dir=/usr \ --enable-sysvsem \ --enable-sysvshm \ --enable-shmop \ --with-xml \ --with-zlib \ --with-gdbm \ --with-dom \ --with-mysql=/usr \ --enable-mbstring \ --with-gettext \ --enable-tokenizer \ --enable-sockets \ --with-kerberos=/usr/kerberos \ --with-openssl \ --with-apxs=/usr/local/apache/bin/apxs \ --with-pgsql \ --enable-mbstr-enc-trans; Previous Comments: ------------------------------------------------------------------------ [2004-02-11 19:20:49] waboring at 3gstech dot com Description: ------------ I have 3 classes a, b extends a, c extends b. b doesn't have constructor. c class contructor calls b's constructor in an effort to cascade constructor calls up the class heirarchy. This works great until class 'a' is renamed to 'A'. <?php /* This script works as one would expect. The foo class constructor gets called. */ class a { function a() { echo __CLASS__."::".__FUNCTION__." called!<br>\n"; } } class b extends a { function blah() { echo __CLASS__."::".__FUNCTION__."() called<br>\n"; } } class c extends b { function c() { echo __CLASS__."::".__FUNCTION__."() called!!<br>\n"; $this->b(); } } $obj = new c(); $obj->blah(); /* Output is c::c() called!! a::a called! b::blah() called */ ?> Reproduce code: --------------- <?php /* Notice that the only thing that is different here is the case of the 'a' class changed to 'A' in all the appropriate places. Now I get a Fatal error saying c::b() doesn't exist? */ class A { function A() { echo __CLASS__."::".__FUNCTION__." called!<br>\n"; } } class b extends A { function blah() { echo __CLASS__."::".__FUNCTION__."() called<br>\n"; } } class c extends b { function c() { echo __CLASS__."::".__FUNCTION__."() called!!<br>\n"; $this->b(); //ERROR IN LINE ABOVE } } $obj = new c(); $obj->blah(); /* Output is c::c() called!! Fatal error: Call to undefined method c::b() in /home/waboring/devel/php/oop.php on line 18 */ ?> Expected result: ---------------- I expect that both of the scripts would work the same way. I have many classes that have Mixed case Actual result: -------------- Fatal error: Call to undefined method c::b() in /home/waboring/devel/php/oop.php on line 18 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27227&edit=1