PHP基礎(chǔ)之命名空間2——在同一個文件中定義多個命名空間
也可以在同一個文件中定義多個命名空間。在同一個文件中定義多個命名空間有兩種語法形式。
Example #1 定義多個命名空間,簡單組合語法
<?php namespace MyProject; const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */ } namespace AnotherProject; const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */ }?>
不建議使用這種語法在單個文件中定義多個命名空間。建議使用下面的大括號形式的語法。
Example #2 定義多個命名空間,大括號語法
<?php namespace MyProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */ } } namespace AnotherProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */ } }?>
在實際的編程實踐中,非常不提倡在同一個文件中定義多個命名空間。這種方式的主要用于將多個 PHP 腳本合并在同一個文件中。
將全局的非命名空間中的代碼與命名空間中的代碼組合在一起,只能使用大括號形式的語法。全局代碼必須用一個不帶名稱的 namespace 語句加上大括號括起來,例如:
Example #3 定義多個命名空間和不包含在命名空間中的代碼
<?php namespace MyProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */ } } namespace { // global codesession_start();$a = MyProjectconnect();echo MyProjectConnection::start(); }?>
除了開始的declare語句外,命名空間的括號外不得有任何PHP代碼。
Example #4 定義多個命名空間和不包含在命名空間中的代碼
<?php declare(encoding=’UTF-8’); namespace MyProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */ } } namespace { // 全局代碼session_start();$a = MyProjectconnect();echo MyProjectConnection::start(); }?>
相關(guān)文章:
1. 解決Python 進程池Pool中一些坑2. Python如何讀寫CSV文件3. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究4. 三個不常見的 HTML5 實用新特性簡介5. 無線標記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁6. ajax請求添加自定義header參數(shù)代碼7. php測試程序運行速度和頁面執(zhí)行速度的代碼8. Python獲取抖音關(guān)注列表封號賬號的實現(xiàn)代碼9. python利用os模塊編寫文件復制功能——copy()函數(shù)用法10. Python使用jupyter notebook查看ipynb文件過程解析
