使用前綴和命名空間的 5 個 WordPress 開發人員提示
已發表: 2021-10-25在對某些項目進行編碼時,您可能會遇到一些問題,因為您的代碼無法正常工作。 這可能是因為幾個函數共享一個相似的名稱。
這種類型的問題被稱為“命名衝突”。 主要是名稱空間和前綴是解決這麼多人面臨的大多數問題的主要答案。
命名空間和前綴非常重要,它可以幫助您在多個函數或類具有相似名稱時停止衝突。
考慮到有多少 WordPress 貢獻者創建了廣泛的主題和插件並為 WordPress 核心做出貢獻。
大多數貢獻者可能面臨同樣的問題,因此找到解決方案來幫助他們很重要。
在這篇博客中,我們將了解前綴和命名空間,並了解兩者的重要性。 此外,我們將提及WordPress 開發人員提示,以幫助您解決此類問題。 讓我們開始吧!
什麼是前綴和命名空間?
PHP 的重要特性之一是命名空間,當兩個不同的函數或類具有相同的名稱時,它是專門為阻止衝突而創建的。 它也被稱為命名衝突,它會阻止您的代碼而不是運行。
在文件系統中,您會發現文件夾名稱作為命名空間。 兩個不同的文件可以具有相同的名稱。 但是,每個函數和類都可以完美運行,但前提是這兩個文件保存在兩個不同的文件夾中。
但是,如果這兩個文件保存在同一個文件夾中,則會遇到也稱為命名空間問題的問題。
實際上,在 WordPress 中,命名空間有兩種不同的含義。 上面解釋的命名空間是在 PHP 中實際創建的版本。
但是,以前實際開發 WordPress 時 PHP 不支持命名空間。 因此,WordPress 用戶正在尋找另一種獲得類似效果的方法。
在尋找實現類似效果的解決方案時,他們提出了另一種功能,也稱為“前綴”。 在 WordPress 中,前綴是 WordPress 開發人員使用的約定。
在類名或函數前面,WordPress 開發人員會加上前綴。 考慮一個示例,您可以使用 yourcompanyname_user,而不僅僅是編寫 user.ideally。
這樣,“用戶”類的大多數實例都將帶有前綴。 通過這樣做,您將確保在將主題、插件和核心與用戶類合併時沒有衝突。
雖然編碼前綴和命名空間是最常用的,它們可以幫助您與其他開發人員編寫的代碼進行交互。
即使沒有案例,您也應該遵循這種做法。 遵循此類 WordPress 開發人員提示以消除命名衝突的可能性非常重要。
WordPress 開發人員使用命名空間和前綴的 5 個技巧
如果您想在代碼中設置前綴和命名空間,那麼您應該遵循這些提示。
1. 使用 PHP 命名空間代替前綴
前綴可以很好地工作,但它有一些缺點。 使用前綴的主要問題是您編寫的代碼不容易閱讀。
這是因為閱讀代碼的人不會找到您的實際函數或類。 儘管他/她一開始會看到前綴。
使用 PHP 命名空間意味著您將確保代碼中的函數和類易於閱讀。 但是,閱讀您的代碼的人會了解該特定函數或類的作用。
如果您的代碼被其他一些編碼人員(例如開發人員或插件)使用,這將更有幫助。
使用命名空間編寫代碼的任務會更容易,因為您不編寫前綴名稱,而只編寫類和函數名稱。
使用命名空間是一個很好的 WordPress 開發人員提示,可以讓您的代碼更具可讀性和簡潔性。
2. 對於你的命名空間,它提出了一個命名約定標準
尚未確定用於創建和命名命名空間的官方標準。 但是確保您編寫最好的代碼將有助於您的網站及其代碼更一致地運行。

將相同的命名約定添加到所有命名空間將幫助您記住和識別哪個命名空間適合哪種類型的項目。
創建命名空間的最佳方法是從供應商或公司名稱開始。 在此之後,您可以為每個項目添加子命名空間。
考慮一個示例,您正在公司中創建主題,然後您可以使用 yourcompanyname 作為主命名空間,而子命名空間可以是該特定項目的主題。
讓我們看看它會是什麼樣子
<!--?php 命名空間您的公司名稱\主題; </pre> <p>使用這種類型的代碼,您將了解從何處調用您的類和函數。 </p> <h3>3. 鼓勵別名清理代碼</h3> <p>PHP 有助於從不同的命名空間調用不同的函數以及相似的名稱。 只需添加函數的完整路徑,您就可以實現這一點。 下面給出一個例子。</p> <p>但是如果你重複這樣做,你的代碼會很快變得混亂。 但是,它會更長,更難閱讀。 對於這些函數,它使您能夠創建別名而不是 PHP。 因此,它將使您的課程更輕鬆。</p> <p>要構建別名,在導入函數或類時,您只需要指定它。 下面給出一個例子</p> <預> <?php 命名空間您的公司名稱; 使用您的公司名稱\主題\用戶作為主題用戶; 類用戶實現 ThemeUser { } </pre> <h3>4. 當沒有命名空間支持時,您可以使用前綴</h3> <p>並非每個項目都支持 PHP 命名空間。 它適用於 </p> <ul> <li>類</li> <li>函數</li> <li>某些常數</li> <li>接口</li> <li>特徵</li> </ul> <p>除此之外,您還必須使用舊形式的 WordPress 前綴。 其中還包含一些項目,例如圖像大小名稱、腳本句柄或數據庫選項。</p> <p>對於您的命名空間,您需要遵循相同的命名約定。 </p> <h3>5. 應用自動加載以簡化開發</h3> <p>當你調用一個給定的類時,自動加載會自動拉入類文件。 自動加載是 PHP 最好的功能之一。 您可以節省大量的精力和時間,因為您不必每次都編寫 include 或 require 語句。 </p> <p>這可以在 PHP 中的 PSR-4 標準的幫助下完成。 </p> <p><strong>結論:</strong><br ?--> 即使您是非技術人員或經驗開發人員,使用命名空間也很重要。 命名空間可幫助您停止命名衝突,並將改進您的函數和類。