php中namespace及use用法分析
本文實例講述了php中namespace及use用法。分享給大家供大家參考,具體如下:
namespace(以下簡稱ns)。在定義了一個ns之后,下面所申明的class、interface、const(不包含variable)都是在申明的ns這個“域”里面的。當引用一個申明了ns的包含文件,想要調用這個ns里面的東西,那必須調整當前腳本也到此ns域,否則就得用全稱()包含ns全稱):
// inc.php
namespace Foo;
class Bar {}
// 訪問Foo的第一種方法,用全稱
require 'inc.php';
$foo = new \Foo\Bar();
// 訪問Foo的第二種方法
namespace Foo; // 調整當前腳本到Foo這個ns域,而且namespace申明必須在第一句
require 'inc.php';
$foo = new Bar();
use關鍵字目的是使用ns的別名:
// 比如 use A\Very\Long\Namespace as Ns; // 這樣就可以用Ns來代替A/Very/Long/Namespace這個ns下定義的東西 $foo = new Ns\Foo();
但是在一些開源項目里面經常會看到use Ns\Component這樣的用法,沒有用as,這讓我以前一直在思考use是否還有第二種用法,糟糕的是php的文檔里面也沒有對此用法有描述,只能靠猜測,后來仔細想過這個問題,得出一個比較靠譜的結論是use可以省略as以及后面的別名而直接把ns最后一個節(jié)點的名字當作別名,感覺是不是很像ln -s命令的用法呢:
// 第三種用法 require 'inc.php'; use Foo\Bar; // 這樣Bar就等于Foo\Bar了 $foo = new Bar();
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網(wǎng)絡編程技巧總結》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
php函數(shù)serialize()與unserialize()用法實例
這篇文章主要介紹了php函數(shù)serialize()與unserialize()用法,以實例形式詳細講述了php函數(shù)serialize()與unserialize()的適用情況與使用方法,具有很好的參考借鑒價值,需要的朋友可以參考下2014-11-11
關于php 接口問題(php接口主要也就是運用curl,curl函數(shù))
本篇文章是對php中的接口問題(php接口主要也就是運用curl,curl函數(shù))進行了詳細的分析介紹,需要的朋友參考下2013-07-07
PHP實現(xiàn)一維數(shù)組與二維數(shù)組去重功能示例
這篇文章主要介紹了PHP實現(xiàn)一維數(shù)組與二維數(shù)組去重功能,結合實例形式分析了php針對一維數(shù)組與二維數(shù)組進行遍歷、判斷、排序、去重等相關操作技巧,需要的朋友可以參考下2018-05-05
thinkphp中U方法按路由規(guī)則生成url的方法
下面小編就為大家分享一篇thinkphp中U方法按路由規(guī)則生成url的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
php模塊memcache和memcached區(qū)別分析
談及php搭配memcached使用,已經是老生常談的問題。但是有一些細節(jié),不見得人人清楚。比如說php的模塊memcache和memcached有什么區(qū)別等。下面我就簡單介紹一下。2011-06-06

