xref: /PHP-7.4/Zend/tests/bug47054.phpt (revision e97d5fab)
1--TEST--
2Bug #47054 (BC break in static functions called as dynamic)
3--FILE--
4<?php
5
6class C {
7  final static function s() {
8    print "Called class: " . get_called_class() . "\n";
9  }
10}
11class D extends C {
12  public function m() {
13    $this->s();
14  }
15}
16
17$d = new D();
18$d->m();
19
20C::s();
21
22$c = new C();
23$c->s();
24
25get_called_class();
26
27D::m();
28
29?>
30--EXPECTF--
31Called class: D
32Called class: C
33Called class: C
34
35Warning: get_called_class() called from outside a class in %s on line %d
36
37Deprecated: Non-static method D::m() should not be called statically in %s on line %d
38
39Fatal error: Uncaught Error: Using $this when not in object context in %s:%d
40Stack trace:
41#0 %s(%d): D::m()
42#1 {main}
43  thrown in %s on line %d
44