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
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.