abstrak: 命名空間可以解決類/函數(shù)/常量的名字沖突的問題。PHP提供了namespace關(guān)鍵字和__NAMESPACE__常量?jī)煞N動(dòng)態(tài)的訪問元素。1)__NAMESPACE__常量:它的值是當(dāng)前命名空間的名稱的字符串,可以通過組合字符串的形式來動(dòng)態(tài)訪問命名空間中的方法;當(dāng)在全局變量中時(shí),它的值為空;<?ph
命名空間可以解決類/函數(shù)/常量的名字沖突的問題。PHP提供了namespace關(guān)鍵字和__NAMESPACE__常量?jī)煞N動(dòng)態(tài)的訪問元素。
1)__NAMESPACE__常量:它的值是當(dāng)前命名空間的名稱的字符串,可以通過組合字符串的形式來動(dòng)態(tài)訪問命名空間中的方法;當(dāng)在全局變量中時(shí),它的值為空;
<?php namespace { var_dump( __NAMESPACE__);//string(0) "",當(dāng)在全局變量中時(shí),__NAMESPACE__常量的值為空; } namespace A{ //創(chuàng)建一個(gè)類 class Comment { }; //通過組合字符串的形式來動(dòng)態(tài)的創(chuàng)建了一個(gè)類并進(jìn)行調(diào)用; $a=__NAMESPACE__.'\Comment'; $a=new $a(); }
2)namespace關(guān)鍵字可以聲明命名空間;可以表示當(dāng)前空間,等價(jià)于類中的 self 操作符
<?php namespace A;// 定義代碼在 'A' 的命名空間中 class Comment { }; //namespace可以表示當(dāng)前空間 $a= new namespace\Comment();
Guru membetulkan:天蓬老師Masa pembetulan:2019-04-25 13:41:37
Rumusan guru:所謂導(dǎo)入空間, 僅僅只是一個(gè)別名罷了, 并不代替加載, 還是要手工加載的