Object-Oriented PHP
TopicObject-oriented PHP utilizes classes and objects to organize code into reusable chunks. This approach helps us organize complex applications, such as Drupal, into modular code called classes that can be reused across the entire system.
Symfony
TopicSymfony is a set of reusable PHP components, and a framework for building PHP applications. Drupal makes use of various Symfony components.
Performance and scalability determine how fast your application can serve a page and to how many users at a time.
Twig is a template engine for PHP, which is the language used in Drupal. Twig can be used to design templates in generic PHP applications as well as Drupal themes.
PHP namespaces provide a way in which to group related classes, interfaces, functions and constants. Drupal uses PSR-4 namespaces to autoload the correct PHP class from a file, accommodating variations in site structures.
Web services allow two or more applications to share data and instructions with one another across the Internet.
The Migrate API can be used to import content from an older Drupal site (Drupal 7 or older), or any other data source, into the current version of Drupal.
Use the Configuration API to access configuration data stored by a module, provide default configuration, create settings forms, and other tasks such as overriding settings for a local environment.
Caching in Drupal
TopicCaching in Drupal is controlled by Drupal's Cache API which is used to store any type of data on a permanent or temporary basis. Some types of data tend to take a long time to compute, but utilizing the Cache API in your module can help your site load data more quickly.
Events
TopicEvents are one of the ways that module developers can alter or extend Drupal without modifying existing code.
Controllers
TopicControllers are the portion of a Drupal module that handle responding to an incoming request with the appropriate response data.
Composer
TopicComposer is the preferred dependency management solution for PHP, is used by Drupal core, and is becoming increasingly popular for managing the modules and themes used for a Drupal project.
The Render API consists of a standard format for describing data using structured arrays and a process for converting those arrays into the HTML a user sees when interacting with a Drupal site.
CSS in Drupal
TopicCascading Style Sheets (CSS) files are added as an asset library through a theme’s libraries configuration file. HTML attributes, including classes and IDs, are commonly added in template files with Twig.
In Drupal’s core library there are a number of utility functions and classes that, as a module developer, you will find make your task easier or less tedious.
Routing
TopicDrupal's Routing API maps the URL of an incoming request to the code responsible for generating the content that is rendered in response.
Services
TopicServices are objects that encapsulate the code for performing specific tasks in a reusable and decoupled way.
Plugins (Plugin API)
TopicPlugins are one of the ways that module developers can write code that extends Drupal. The Drupal Plugin API allows a module to provide functionality in an extensible, object-oriented way.
Dependency Injection
TopicDependency injection is a design pattern commonly used in object-oriented software architectures in order to support Inversion of Control.
Upgrading is the process of moving your site from a previous major version of Drupal to a newer version, for example from Drupal 7 to Drupal 11.