Date: 11/15/00
- Next message: Frank M. Kromann: "Re: [PHP-DEV] CVS Account Request"
- Previous message: rl <email protected>: "[PHP-DEV] PHP 4.0 Bug #7835: define() doesn't work in a class-variable-predeclaration-function-call"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
ID: 7835
Updated by: torben
Reported By: rl <email protected>
Status: Closed
Bug Type: Scripting Engine problem
Assigned To:
Comments:
Not a bug; check the manual:
http://www.php.net/manual/language.oop.php
Note: In PHP 4, only constant initializers for var
variables are allowed. Use constructors for non-constant
initializers.
The problem isn't with the defined constants; it's with
the array() being used in the 'var $test = array(...' line.
As noted, do this in the constructor inst
Previous Comments:
---------------------------------------------------------------------------
[2000-11-15 21:06:18] rl <email protected>
<?php
# define_does_NOT_work.php --
#
# testing defines in php4 within predeclaratrion
# function calls
#
# tested on -
# Apache/1.3.14 (Unix) mod_ssl/2.7.1 OpenSSL/0.9.6
# PHP/4.0.3pl1
#
# Author: Richard Leopold <rl <email protected>>
#
############################################################
##
define('__KEY__','this is the KEY');
define('__VALUE__','this is the VALUE');
class TEST {
var $test = array( __KEY__ => __VALUE__ );
function start() {
$this->test = array( __KEY__ => __VALUE__ );
}
function test_define(){
print "Looking for define-keyed array-value: test[".
__KEY__."] = ".
$this->test[__KEY__];
}
}
$test = new TEST;
print("<b>Hello, this server is a </b><br><em>".
$SERVER_SOFTWARE.
"</em><br><br>I think there is a BUG in PHP4:</b>".
"<br>n");
print("<b>A define doesn't work in a class-variable ".
"predeclaration array-function call ".
"with a __defined__ Parameter .... </b><br>n");
$test->test_define();
print("<br><br>".
"<b>But when I initialize the class-variable in a ".
"start-function ");
$test->start();
print(", then it works:</b><br>n");
$test->test_define();
print("<br><br>".
"<b>regards - Richard </b>");
?>
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=7835
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: Frank M. Kromann: "Re: [PHP-DEV] CVS Account Request"
- Previous message: rl <email protected>: "[PHP-DEV] PHP 4.0 Bug #7835: define() doesn't work in a class-variable-predeclaration-function-call"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

