命名空间_学习过程_1

来源:互联网 发布:淘宝生活研究所是什么 编辑:程序博客网 时间:2024/06/08 07:16

<?php

// Lots 

// of 
// interesting 
// comments and white space 

    
namespace NS;

    
define(__NAMESPACE__ .'\foo','111');
    
define('foo','222');

    echo 
foo;  // 111.
    
echo \foo;  // 222.
    
echo \NS\foo  // 111.
    
echo NS\foo  // fatal error. assumes \NS\NS\foo.

?>

<?php
declare(encoding='UTF-8');
namespace 
MyProject {

const 
CONNECT_OK 1;
class 
Connection /* ... */ }
function 
connect() { /* ... */  }
}

namespace { 
// 全局代码
session_start();
$a MyProject\connect();
echo 
MyProject\Connection::start();
}
?>

命名空间前不能有其它代码 但是可以有注释,declear。 全局命名空间格式为define(__NAMESPACE__ ,'\foo',\'111'); 

命名空间调用时,全局的直接调用,局部需要加\,表示在当前命名空间中。在外部调用全局类,可以用\NAMESPACE_name\*,而路径前不加\,默认添上\NAMESPACE_name\ 

  1. 相对文件名形式如foo.txt。它会被解析为 currentdirectory/foo.txt,其中 currentdirectory 表示当前目录。因此如果当前目录是 /home/foo,则该文件名被解析为/home/foo/foo.txt
  2. 相对路径名形式如subdirectory/foo.txt。它会被解析为 currentdirectory/subdirectory/foo.txt
  3. 绝对路径名形式如/main/foo.txt。它会被解析为/main/foo.txt

0 0
原创粉丝点击