xref: /PHP-7.4/Zend/tests/bug46246.phpt (revision 782352c5)
1--TEST--
2Bug #46246 (difference between call_user_func(array($this, $method)) and $this->$method())
3--FILE--
4<?php
5class A
6{
7	private function Test()
8	{
9		echo 'Hello from '.get_class($this)."\n";
10	}
11
12	public function call($method, $args = array())
13	{
14		$this->Test();
15		$this->$method();
16		call_user_func(array($this, $method));
17	}
18}
19
20class B extends A
21{
22	protected function Test()
23	{
24		echo 'Overridden hello from '.get_class($this)."\n";
25	}
26}
27
28$a = new A;
29$b = new B;
30
31$a->call('Test');
32$b->call('Test');
33?>
34--EXPECT--
35Hello from A
36Hello from A
37Hello from A
38Hello from B
39Hello from B
40Hello from B
41