#### 命名空間的由來
同時導入兩個php文件,兩個文件都包含相同的方法名或者類名。此時會報錯,為了解決這種問題,php引入了命名空間的概念。
#### 定義命名空間
namespace放到第一行
同一個目錄下的想同類,可以定義不同的命名空間。
統一目錄下的兩個1.php 和 2.php
~~~
namespace venter
class Imooc(){
}
function ilikeImooc(){
}
const IMOOC="常量";
namespace venter\session
class Imooc(){
}
//函數
function ilikeImooc(){
}
~~~
c.php文件內容,不會沖突
~~~
require 1.php;
require 2.php;
new venter\Imooc();
venter\ilikeImooc();
new venter\session\Imooc();
venter\session\ilikeImooc();
~~~
#### 使用use關鍵字導入命名空間下的類
~~~
use Venter\session\Imooc; //導入Venter\session空間下的Imooc類。
use Venter\Imooc as Imooc2; //導入Venter空間下的Imooc類,并使用別名 Imooc2.
use function Venter\session\ilikeImooc; //導入命名空間下的函數
use const Venter\session\IMOOC; //導入命名空間下的常量
~~~
#### 全局命名空間
~~~
class ImoocTest(){
}
function Test2(){
}
const TEST3 = "test3";
~~~
沒有定義命名空間的類 默認存在于全局命名空間,此時調用需要使用反斜杠調用。
但是函數和常量可以不加反斜杠,因為函數和常量發現當前命名空間不存在的話,會默認去全局命名空間尋找
`new \ImoocTest();`
- 簡介
- Cookie
- HTML5 LocalStorage
- session
- 當瀏覽器關閉后,Session就銷毀了嗎?
- mysql數據庫保存session
- HTTP協議的由來
- fsockopen異步請求
- http防盜鏈
- Apache偽靜態知識補充
- 大并發量解決方案
- 大型網站是怎樣解決多用戶高并發訪問
- 網站高并發 大流量訪問的處理及解決方法
- 并發數與在線客戶數?注冊用戶數的關系
- 即時聊天程序
- 反向Ajax實現
- ob緩存作用
- 淺聊并發之戰
- php擴展安裝
- php安裝redis擴展
- SQLMap自動化實施SQL注入共計
- 命名空間namespace
- 集群和分布式之【session共享】
- php Redis存儲Session 【1】
- php Redis存儲Session 【2】
- php mysql存儲session【1】
- php緩存
- 文件緩存
- memcache和redis的比較
- 原生session與session in redis對比
- XSS攻擊【1】
- XSS攻擊【2】
- PHP消息隊列
- php+mysql 模擬發送郵件隊列
- php+mysql 模擬訂單處理隊列
- php+redis 模擬秒殺隊列
- RabbitMQ 消息隊列系統
- beanstalkd
- PHP構建即時通訊
- WebSocket協議
- workerman
- PHP變量的作用域
- PHP傳值和傳引用的區別
- PHP匿名函數
- PHP遞歸函數&應用
- PHP單例模式
- PHP性能優化
- RESTful
- 集群
- 增加pgsql擴展
- php.ini路徑查找
- Swoole Compiler
- mysql 主從
- 主從
- mysql-proxy
- window docker環境