- Drupal 8 Module Development
- Daniel Sipos
- 399字
- 2021-07-02 12:22:33
Drupal core, modules, and themes
From an architectural standpoint, we can break up Drupal into three pieces: its core, modules and themes.
When we discuss Drupal 8 core, we can interpret it in two ways. A more restrictive interpretation sees it as the functionality covered by all the code it ships with, excluding modules and themes. The more widespread interpretation sees it as the total code base it ships with (out of the box).
Although the most widespread interpretation is the latter (not least because it differentiates all the functionalities its standard installation contains versus all others provided by contributed modules and themes), it is interesting to consider the first one as well, even if just for a minute. Because in doing so we can distinguish, architecturally speaking, the base code from the modules and themes that provide various functionalities and layouts. And why is this distinction interesting? Because at the bridge between the two comes into play the hooks and events that will also allow us to inject ties to our own functionality.
The core libraries are made up of code belonging to the Drupal project and those from the wider PHP community, which Drupal borrows under open source licensing. This latter approach is new in Drupal 8 and has been regarded by many as a positive shift toward getting off the Drupal island and embracing outside libraries, frameworks, and communities.
Essentially, the core libraries provide the functions and services used throughout Drupal. For example, helpers for interacting with the database, translating between languages, sanitizing user data, building forms, encoding data, and many such utilities are found in Drupal's core libraries.
The modules (both core and contributed) are where most of the actual business logic is encapsulated. If enabled, they can provide functionality or extend the existing one. Most of the core modules are needed and cannot be disabled due to their importance in the standard Drupal installation. However, contributed ones can be installed and uninstalled as needed.
The themes (both core and contributed) are an important part of the theme system and are used by the presentation layer. They provide HTML templates within which content and data can be rendered to the user, as well as CSS styling and even client-side scripting for some nice visual interactions. Themes can extend other themes and can also contain some PHP logic to process the data before being rendered.
- 零基礎學Visual C++第3版
- Django+Vue.js商城項目實戰
- Spring Boot開發與測試實戰
- Beginning C++ Game Programming
- Java 9 Programming Blueprints
- Python GUI Programming Cookbook
- Java Web應用開發技術與案例教程(第2版)
- PLC編程及應用實戰
- 運用后端技術處理業務邏輯(藍橋杯軟件大賽培訓教材-Java方向)
- OpenCV 4計算機視覺項目實戰(原書第2版)
- 計算機應用基礎教程(Windows 7+Office 2010)
- 3ds Max印象 電視欄目包裝動畫與特效制作
- 進入IT企業必讀的324個Java面試題
- Yii2 By Example
- Spark技術內幕:深入解析Spark內核架構設計與實現原理