Drupal 8 自定義模塊——使用這些最佳實踐創建高效的 Drupal 8 模塊
已發表: 2020-03-17Drupal 8 自定義模塊的範圍可以從超級簡單到高度複雜,具體取決於自定義的需要。 Drupal 的真正力量可以通過 Drupal 8 中的自定義模塊來解鎖。無論自定義模塊的複雜程度如何,遵循一些最佳實踐都可以幫助您創建更高效的自定義模塊。 那麼,讓我們開始吧!
最近,我在 Drupal 中尋找一個模塊,突然想到了一些東西。 在 Drupal 世界中,當您尋找或考慮解決方案時,您可能會聽到的第一件事是“有一個模塊可以解決這個問題!”。 雖然 Drupal 中有近 70 個核心模塊,但 Drupal 社區構建的額外貢獻模塊擴展了平台的功能。 在 Drupal 8 中,CMS 有一個完全不同的架構和現代化的方法,轉向面向對像以提高整體效率和軟件質量。 創建 Drupal 8 自定義模塊以進一步擴展 Drupal 的功能與在 Drupal 7 中不同。

Drupal 8 中的自定義模塊是什麼? 為什麼要創建一個?
Drupal 8 自定義模塊基本上是一個由自定義功能組成的模塊。 Drupal 自定義模塊可以從一個需要小的自定義的貢獻模塊開始,或者從一個全新的 Drupal 8 模塊開始,其中包含適合項目的新的不存在的功能集。 或者有時,從 Drupal 7 到 Drupal 8 的遷移將需要一個自定義模塊,因為 Drupal 7 模塊在 Drupal 8 中不可用。 Drupal 8 自定義模塊本質上是為了擴展 Drupal 的核心功能而構建的,它本身就是內置一組核心模塊。
無論您對以前版本的 Drupal 的體驗如何,Drupal 8 中的模塊開發都有其自身的一系列挑戰。 為了給您一個公平的想法,Drupal 7 和 Drupal 8 之間存在一些差異,關鍵是 Drupal 8 需要最新版本的 PHP 7 才能運行,並且它使用 Symphony,這是一個依賴於面向對象編程的 PHP 框架。 儘管如此,Drupal 8 的新方法是一種未來主義的方法,它為更廣泛的熟悉 OOP 和 MVC 概念的開發人員打開了大門。
此外,模塊的構建方式也發生了變化,並且有一些最佳實踐可以跟上社區標準。 讓我們多談談這個。
Drupal 8 文件結構的變化
需要記住的重要一點是,在 Drupal 8 模塊開發中,文件結構與 Drupal 7 中的文件結構完全不同。 Drupal 8 中的自定義模塊存儲在/modules目錄中,這與在 Drupal 7 中為核心保留的目錄不同模塊。 核心 Drupal 8 模塊現在進入/core目錄。
接下來,為了讓 Drupal 8 知道您的自定義模塊存在,您需要創建一個提供元數據的.info.yml文件。 此過程類似於用於 Drupal 7 的過程。
name - 此鍵用於為您的自定義模塊提供名稱。
type - 此鍵定義擴展的類型(模塊/主題/配置文件)。
description - 該鍵提供關於自定義模塊的詳細描述(顯示在模塊列表頁面上)。
package - 此項指定應包含模塊的包。
version - 指定模塊的版本。
如果您的文件看起來像“ blogexmple_module.info.yml ”,則語法如下-
名稱- blogexmple 模塊
類型– 模塊
description - 一個簡單的演示模塊
包裝– 定制
版本- 1.0
核心- 8.x

在代碼之前使用配置
每次進行任何更改時都必須重寫代碼是一項艱鉅的任務。 不是將類硬編碼到主題中,而是在配置中設置值並將其應用到代碼中。 這確保了以簡單快捷的方式進行編碼並生成高質量的模塊。 由於可重用代碼是編寫高質量軟件的標準,代碼中的配置確保了高級功能和“易於修改”的特性。
使用 Drupal 提供的功能
一旦你構建了你的模塊,你應該知道 Drupal 帶有各種內置的管理功能來存儲和顯示模塊數據和設置。 模塊設置頁面可以通過鉤子菜單來定義。 這個鉤子使模塊能夠註冊路徑以定義 URL 請求的處理方式。 使用drupal_get_form頁面回調用法,您在回調函數中必須做的就是定義並返回要存儲的設置。
太多的廚師弄壞了肉湯
在大型 Drupal 站點上工作了很長時間後,Drupal 開發人員會了解到數百個模塊可以協同工作以產生有效的大型項目。 但是在企業 Drupal 網站上工作時,重要的是要注意避免單個糟糕的模塊比避免 30 個開發良好的 Drupal 模塊(試圖使用較少的模塊)的效果更大。 然後,開發人員傾向於對自己的模塊進行編程,而不是重用現有模塊。 您為項目編寫的自定義模塊數量越多,以後維護和修改 Drupal 站點所需的工作就越多。 相反,請考慮在 Github 上發布您的模塊。 這允許您避免使用大量自定義模塊,而是鼓勵您創建具有所需配置的可重用代碼。
環境和編碼標準
開發環境是一個重要的影響因素,因為它可以確保 Drupal 項目順利運行。 Drupal 開發公司確保整個團隊在完全相同的開發環境中工作,以實現高效的工作流程。
在這樣的環境中工作時,要處理的最大問題之一是確保代碼乾淨且可維護。 Drupal 開發人員需要確保他們的代碼可讀並且對他們工作的每個人都有意義。 這不僅適用於團隊成員或組織中的任何人,也適用於更大的 Drupal 社區本身。 由於社區參與是 Drupal 開發的重要組成部分,也是分佈式團隊高效協作的一個關鍵方面,遵循編碼標準有助於實現項目的目標和目的。
