ID: 45910
Updated by: [EMAIL PROTECTED]
Reported By: s dot tretter at szene1 dot at
-Status: Verified
+Status: Assigned
Bug Type: Scripting Engine problem
Operating System: Linux
PHP Version: 5.3.0alpha1
-Assigned To:
+Assigned To: dmitry
Previous Comments:
------------------------------------------------------------------------
[2008-08-25 19:58:46] [EMAIL PROTECTED]
I've added two tests (bug45910.phpt, bug45910_2.phpt), the latter
segfaults. (5_3 and HEAD)
------------------------------------------------------------------------
[2008-08-25 19:28:11] [EMAIL PROTECTED]
Here's a simple script based in your example:
class foo {
const AAA = 'x';
const BBB = 'a';
const CCC = 'a';
const DDD = self::AAA;
private static $foo = array(
self::BBB => 'a',
self::CCC => 'b',
self::DDD => self::AAA
);
public static function test() {
self::$foo;
}
}
foo::test();
The error is only issued when BBB and CCC contains same value.
------------------------------------------------------------------------
[2008-08-25 18:34:38] s dot tretter at szene1 dot at
okay here a test script...
<?php
class Test
{
const HOST_SK = 13;
const NOSHOW = 'n77';
const CONTENT_AD = 'n10';
const CONTENT_AD_MAIN = 'n5';
const CONTENT_AD_SALE = 'n15';
const SKYSCRAPER = 'n4';
const SITEBAR = 'n6';
const BIGSIZE_BANNER = 'n3';
const CONTENT_USERPAGE = self::NOSHOW;
const HOCKEY1_SKYSCRAPER = 'n4';
const HOCKEY2_BIGSIZE_BANNER = 'n3';
const SPECIAL_FOTO_SKYSCRAPER = 'n14';
private static $host_matching = array(
self::HOST_SK => array(
self::CONTENT_AD
=> 'n64',
self::CONTENT_AD_MAIN
=> 'n63',
self::CONTENT_AD_SALE
=> 'n65',
self::SKYSCRAPER
=> 'n62',
self::SITEBAR
=> 'n66',
self::BIGSIZE_BANNER
=> 'n61',
self::HOCKEY1_SKYSCRAPER
=> 'n62',
self::HOCKEY2_BIGSIZE_BANNER
=> 'n61',
self::SPECIAL_FOTO_SKYSCRAPER
=> 'n67',
self::CONTENT_USERPAGE
=> self::NOSHOW
)
);
public static $objects = array();
public static function addElement($object)
{
self::$objects[] = $object;
}
}
Test::addElement("socha");
?>
------------------------------------------------------------------------
[2008-08-25 18:10:42] s dot tretter at szene1 dot at
Description:
------------
The problem is that the same script worked in php5.2.6, but in php5.3
it results in a "Fatal error: Cannot declare self-referencing constant
'n61' in ..."
There is an array that uses many constants to set the array with
values. If I execute a method of the class this error message stops the
execution..but the line of the code has nothing todo with this array!
strange error... just let me send my test code, u will see it yourself.
If i modify the array, remove the lines that php is complain about,
some lines and so on.. it works.. but these lines are not differnt to
the ohter lines..!? I don't understand it.
Also tried with latest cvs snapshot
Reproduce code:
---------------
I have a test script, but I don't wanna publish the code... May I send
it directly to a php developer?
Expected result:
----------------
like in php5.2.6 this code should work!
Actual result:
--------------
Fatal error: Cannot declare self-referencing constant 'n61' in
/..../test.php on line 132
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45910&edit=1