php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20242 Method call infront of class definition
Submitted: 2002-11-04 05:17 UTC Modified: 2003-02-15 09:49 UTC
Votes:3
Avg. Score:4.3 ± 0.9
Reproduced:2 of 2 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: marcus dot boerger at post dot rwth-aachen dot de Assigned:
Status: Wont fix Package: Scripting Engine problem
PHP Version: 4CVS-2002-11-04 OS:
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: marcus dot boerger at post dot rwth-aachen dot de
New email:
PHP Version: OS:

 

 [2002-11-04 05:17 UTC] marcus dot boerger at post dot rwth-aachen dot de
While you can call functions in front or after current code you cannot do so with classes. As this is documented nowhere this is an error with both ZE1 and ZE2.

Following .phpt file:
====================================
--TEST--
Method call infront of class definition
--FILE--
<?php

test::show_static();

$t = new test;
$t->show_method();

class test {
	function show_static() {
		echo "static\n";
	}
	function show_method() {
		echo "method\n";
	}
}
?>
--EXPECT--
static
method 
=EOF================================

Produces following .out
====================================
<font color=ff0000>
Fatal error: Class 'test' not found in /usr/src/php4-HEAD/tests/classes/classes001.php on line 3
</font>/usr/src/php4-HEAD/tests/classes/classes001.php(3) : Fatal error - Class 'test' not found
=EOF================================

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-11-04 06:25 UTC] moriyoshi@php.net
Huh? It just works for me.
Hmm I'm rather interested in what causes it to fail in your environment.

 [2002-11-04 06:45 UTC] marcus dot boerger at post dot rwth-aachen dot de
Ups i rechecked it and now it works for ZE 1.3 maybe i
missconfigured the test for ZE1. But it still fails for ZE2. I guess i should commit the test then.
 [2002-11-04 10:59 UTC] iliaa@php.net
This is indeed a ZE2 bug. It appears that unlike ZE1, ZE2 does not allow the class defenition to be made AFTER the calls to the class are made.
This of course is not a good way to do things, class defenitions should occur before the class is being used. However, since this worked in ZE1, it probably should work in ZE2 as well.
 [2003-02-15 09:43 UTC] admin at trevorj dot com
yes this works with ZE1 completely, but still fails with ZE2...

any news on this? sorry if this isnt the rite place... its just been awhile since the last comment.
 [2003-02-15 09:49 UTC] helly@php.net
I'll make it a no fix since the last discussions with 
Zeev and Andi suggest so.
 
PHP Copyright © 2001-2017 The PHP Group
All rights reserved.
Last updated: Sun Nov 19 01:31:42 2017 UTC