PHP的命名空间

简介:

  防止名称冲突。

原理:

  类似文件目录/usr/local这样的。

用法:

  namespace:定义命名空间;  
  use:取别名;

代码示例:
file 1.php

<?php 
namespace foo;
function test1(){
    echo "namespace....";
}
?>

file 2.php

<?php
include '1.php';
use foo as a;
a\test1();
?>

注意:如果用use foo,但是后面没有取别名as a,则会出现错误提示:Warning: The use statement with non-compound name 'foo' has no effect in。

 

再看一个例子:

1.php

<?php
namespace app\fruit;
class apple{
    function eat(){
        echo "eat....";
    }
    
    function play(){
        echo "play....";
    }
}

function test(){
    echo "test...";
}
?>

2.php

<?php
/*
 * 必须把1.php文件包含进来
 * 否则出错:Fatal error: Call to undefined function app\fruit\test() in
 *                     D:\wamp\www\test\2.php on line 9
 */
include '1.php';
use app\fruit as a;//用use来取别名
a\test();    //调用1.php里的一个方法
$a = new a\apple();    //实例化1.php里的一个对象
$a->eat();
?>

注意:如果2.php文件里不包含1.php(include '1.php')则会找不到1.php里定义的方法或者类。

 

 

 

 

posted @ 2013-11-14 15:52  洒洒  阅读(2308)  评论(0编辑  收藏  举报