PHP 快速導覽 - 單一檔案裡的命名空間

單一 PHP 檔案裡也可以定義多個命名空間 (namespace) ,舉例如下

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
<?php
namespace Name01\Name02\Name03;
 
const DEMO = 1;
function demo() {
    return 2;
}
class Demo {
    static function do_something() {
        return 3;
    }
}
 
namespace Name01\Name02;
 
const DEMO = 4;
function demo() {
    return 5;
}
class Demo {
    static function do_something() {
        return 6;
    }
}
 
// 下面為執行程式
echo demo() . "\n";
echo Demo::do_something() . "\n";
echo DEMO . "\n";
 
echo Name03\demo() . "\n";
echo Name03\Demo::do_something() . "\n";
echo Name03\DEMO . "\n";
                                   
echo \Name01\Name02\Name03\demo() . "\n";
echo \Name01\Name02\Name03\Demo::do_something() . "\n";
echo \Name01\Name02\Name03\DEMO;
 
/* 《程式語言教學誌》的範例程式
    檔名:name05.php
    功能:示範 PHP 程式
    作者:張凱慶
    時間:西元 2013 年 2 月 */
?>


第一個命名空間為 Name01\Name02\Name03
2
namespace Name01\Name02\Name03;


第二個命名空間為 Name01\Name02
14
namespace Name01\Name02\Name03;


下面的執行程式就是屬於最後定義的命名空間,執行結果如下



中英文術語對照
命名空間namespace


您可以繼續參考
命名空間


相關目錄
回 PHP 快速導覽
回 PHP 教材
回首頁


參考資料
http://www.php.net/manual/en/language.namespaces.rationale.php
http://www.php.net/manual/en/language.namespaces.definition.php
http://www.php.net/manual/en/language.namespaces.nested.php
http://www.php.net/manual/en/language.namespaces.definitionmultiple.php
http://www.php.net/manual/en/language.namespaces.basics.php
http://www.php.net/manual/en/language.namespaces.importing.php
http://www.php.net/manual/en/language.namespaces.global.php
http://www.php.net/manual/en/language.namespaces.fallback.php
http://www.php.net/manual/en/language.namespaces.rules.php
http://www.php.net/manual/en/language.namespaces.faq.php

沒有留言: