最近更新: 2007-08-03

PHP 可用命名慣例避免名稱衝突

PHP5 目前不提供名稱空間(Namespace)功能,但普遍藉由命名慣例 (Name convention) 避免名稱衝突。名稱空間是語法功能;命名慣例則是編程技巧或準則(coding standard)。最常用的慣例是,把你的名號、公司名號或專案名號加在類別名稱前。例如 john 寫了一套 DB 層,那麼類別名稱當為 John_Db ;Xos 專案有一套 DB 層,那麼類別名稱當為 Xos_Db 。甚至於,要學 Java 以 domain name 為命名慣例 (Java 把這套命名慣例應用於 package) 也無不可,例如把類別名稱取作 Tw_Com_ABC_Db 。

在實際撰寫程式碼時,用命名空間和命名慣例的效果是差不多的。如下所示:

$o = new John::Db; //namespace:

$o = new John_Db; //name convention:

名稱空間只得一項好處,就是可以用關鍵字(using or import) 宣告預設名稱空間,讓程序員少打一些字。然而,即便語法支援名稱空間,老練的程序員仍然會採用上述的命名慣例為名稱空間命名,以避免名稱空間的名稱衝突(真拗口...)。

樂多舊網址: http://blog.roodo.com/rocksaying/archives/3855669.html