mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00

Non-early-bound classes report inheritance errors at the first line of the class, if no better line information is available (we should really store line numbers for properties at least...) Early bound classes report it at the last line of the class instead. Make the error reporting consistent by always reporting at the first line.
31 lines
498 B
PHP
31 lines
498 B
PHP
--TEST--
|
|
Redeclare inherited public static property as public.
|
|
--FILE--
|
|
<?php
|
|
class A
|
|
{
|
|
public static $p = "A::p (static)";
|
|
static function showA()
|
|
{
|
|
echo self::$p . "\n";
|
|
}
|
|
}
|
|
|
|
class B extends A
|
|
{
|
|
public $p = "B::p";
|
|
function showB()
|
|
{
|
|
echo $this->p . "\n";
|
|
}
|
|
}
|
|
|
|
|
|
A::showA();
|
|
|
|
$b = new B;
|
|
$b->showA();
|
|
$b->showB();
|
|
?>
|
|
--EXPECTF--
|
|
Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 11
|