Design Patterns & PHP 8 - How they affect Drupal Core

AjitS
Piyuesh Kumar

Drupal coming out of the shadows of NIH (Not invented here), saw the adoption of Object-oriented Programming & collaboration with other PHP/JS frameworks - most notably Symfony components, being inducted in PHP-FIG. The future looks bright.

Most of us who started with Drupal as our primary framework find it challenging to adapt to the brave new world of OOP and Design patterns. Drupal 8+ core uses various concepts/Design patterns that were not native to Drupal in the past. The session will cover the following topics with hands-on examples:

1. Design Patterns / PHP features used in Drupal 8: Trouble wading through Dependency Injection, Service containers, Factory Methods, PHP traits, Discovery Methods, strategy, singleton, etc.
PSR standards, namespaces, autoloading
Symfony components adopted by Drupal 8+

2. Starting with Drupal 10, the PHP version required is 8.1. PHP 8 is new & brings in a lot of goodies with itself. Things like the JIT compiler & more strict type checks make the code more robust with PHP8. Another focus of this workshop will be on how our development practices should evolve with these changes via certain real-world problem statements and benchmarking the same applications written with PHP7 & PHP 8 for performance.

Intended audience - developers with some knowledge of custom module/theme development.

Takeaway - understanding the standard programming patterns in Drupal core and new exciting PHP 8 features implemented in Drupal core.

When & Where

Time: 
Thursday, 19 October, 2023 - 16:15 to 17:00
Room: 
Room D12 Dropsolid