我們的例子分成兩個檔案,第一個檔案 name03.php
<?php namespace Name01\Name02\Name03; const DEMO = 1; function demo() { return 2; } class Demo { static function do_something() { return 3; } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:name03.php 功能:示範 PHP 程式 作者:張凱慶 時間:西元 2013 年 2 月 */ ?>
這裡定義的命名空間有三層
namespace Name01\Name02\Name03;
我們在相同目錄(資料夾)的 name04.php 定義命名空間為 Name01\Name02
<?php namespace Name01\Name02; include 'name03.php'; use Name01\Name02\Name03\Demo as Another; 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 Another::do_something() . "\n"; echo Name03\DEMO . "\n"; echo \Name01\Name02\Name03\demo() . "\n"; echo Another::do_something() . "\n"; echo \Name01\Name02\Name03\DEMO; /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:name04.php 功能:示範 PHP 程式 作者:張凱慶 時間:西元 2013 年 2 月 */ ?>
關鍵字 (keyword) use 可替過長的命名空間中的類別 (class) 取別名 (alias)
use Name01\Name02\Name03\Demo as Another;
執行結果如下
中英文術語對照 | |
---|---|
命名空間 | namespace |
關鍵字 | keyword |
類別 | class |
別名 | alias |
您可以繼續參考
命名空間
相關目錄
回 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
沒有留言:
張貼留言