12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- --TEST--
- Typed group use statements
- --FILE--
- <?php
- namespace Foo\Bar {
- class A { function __construct() {echo __METHOD__,"\n";} }
- class B { function __construct() {echo __METHOD__,"\n";} }
- function fiz(){ echo __FUNCTION__,"\n"; }
- function biz(){ echo __FUNCTION__,"\n"; }
- function buz(){ echo __FUNCTION__,"\n"; }
- const FOO = 1;
- const BAR = 2;
- }
- namespace Fiz\Biz\Buz {
- use function Foo\Bar\{
- fiz,
- biz,
- buz as boz,
- A // <- this one must fail
- };
- use const Foo\Bar\{
- FOO as FOZ,
- BAR,
- B // <- this one must fail
- };
- use Foo\Bar\{ A, B, const BAR as BOZ };
- function buz(){ echo __FUNCTION__,"\n"; }
- const FOO = 100;
- echo "==== MIXED ====\n";
- new A();
- new B();
- var_dump(BOZ);
- echo "===== CONSTANTS ====\n";
- var_dump(FOO);
- var_dump(FOZ);
- var_dump(BAR);
- var_dump(defined('B'));
- echo "===== FUNCTIONS ====\n";
- buz();
- fiz();
- biz();
- boz();
- A();
- }
- ?>
- --EXPECTF--
- ==== MIXED ====
- Foo\Bar\A::__construct
- Foo\Bar\B::__construct
- int(2)
- ===== CONSTANTS ====
- int(100)
- int(1)
- int(2)
- bool(false)
- ===== FUNCTIONS ====
- Fiz\Biz\Buz\buz
- Foo\Bar\fiz
- Foo\Bar\biz
- Foo\Bar\buz
- Fatal error: Uncaught Error: Call to undefined function Foo\Bar\A() in %sns_092.php:45
- Stack trace:
- #0 {main}
- thrown in %sns_092.php on line 45
|