php进行动态访问时命名空间如何使用(代码)

来源:不言 发布时间:2018-10-26 17:06:00 阅读量:725

本篇文章给大家带来的内容是关于php进行动态访问时命名空间如何使用(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

受PHP自身的动态特征的影响,在动态访问元素时,必须使用完全限定名,所以在动态的类、函数或常量名称中,限定名称和完全限定名没有区别,都是按照完全限定名进行解析

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

<?php

namespace {

 

const con=0;

const test="test";

function foo(){

    echo 'foo in global'."\n";

}

class A{

    static function foo(){

        echo 'foo in global\A'."\n";

    }

}

}

namespace a\b{

const con = 1;

const test="a\b\\test";

function foo(){

    echo 'foo in a\b\foo'."\n";

}

class A{

    static function foo(){

        echo 'foo in a\b\A'."\n";

    }

}

 

 

$a='A';

$obj=new $a();

$obj->foo();

$a='\A';

$obj=new $a();

$obj->foo();

$a='a\b\A';

$obj=new $a();

$obj->foo();

$a='\a\b\A';

$obj=new $a();

$obj->foo();

 

$b="con";

echo constant($b)."\n";

$b="\con";

echo constant($b)."\n";

$b="a\b\con";

echo constant($b)."\n";

$b="\a\b\con";

echo constant($b)."\n";

 

$c="foo";

$c();

$c="\\foo";

$c();

$c="a\b\\foo";

$c();

$c="\\a\\b\\foo";

$c();

}

?>


标签: PHP
分享:
评论:
你还没有登录,请先