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.
Git
TopicThe Git version control system can help you keep track of changes in your codebase and make sure you don't unintentionally lose work.
Security
TopicKeeping a Drupal site secure requires monitoring security announcements, performing regular updates, and knowing how to properly use Drupal’s APIs to write secure code.
HTML and CSS
TopicHTML and CSS are the foundational languages for how browsers display web pages.
YAML
TopicYAML, which stands for YAML Ain't Markup Language, is a human-readable data serialization format that's been widely adopted in a variety of use cases in Drupal.
Xdebug
TopicDebugging your Drupal codebase can be made substantially easier by learning how to enable and configure the Xdebug PHP extension.
Learn about resources to guide you through the process of updating a module or theme to the latest version of Drupal.
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.
Drupal Core Modules
TopicA module is a set of PHP, JavaScript, and/or CSS files that extends site features and adds functionality. The Drupal core software comes with a set of modules that provide a range of features.
Web services allow two or more applications to share data and instructions with one another across the Internet.
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.
JavaScript
TopicJavaScript (JS) is an interpreted programming language that is widely used on the web to control web page behavior and interactivity.
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.
Drupal Console
TopicDrupal Console provided a command line utility for performing common site administration tasks, code generation scaffolding, and a Read-Evaluate-Print-Loop for interacting with your Drupal site.
It is no longer actively maintained. Use Drush instead.
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.
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.
Performance and scalability determine how fast your application can serve a page and to how many users at a time.
Symfony
TopicSymfony is a set of reusable PHP components, and a framework for building PHP applications. Drupal makes use of various Symfony components.
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.