Drupal 8 Interconnections

This shows the complete files needed for a 'hello' module, highlighting the interconnections between various pieces. The interconnections are color-coded, and can be enlarged for easier recognition by clicking on them. Text with a border has added explanations that can be displayed and hidden by clicking.

The crude mock browser on the right shows the finished page.

This is a work in progress. Last modified November 17th, 2015. Corrections, comments and suggestions are welcome. Joe Casey


Mock Browser:
Hello Title
https://www.example.com/say_hello

Hello Title

Hello there!
File: modules/custom/hello/hello.routing.yml:
hello: path: '/say_hello' defaults: _title: 'Hello Title' _controller: '\Drupal\hello\HelloController::content' requirements: _permission: 'access content'
File: modules/custom/hello/src/HelloController.php:
<?php /** * @file * Contains \Drupal\hello\HelloController. */
namespace Drupal\hello;
use Drupal\Core\Controller\ControllerBase;
class HelloController extends ControllerBase { public function content() { return array( '#markup' => '' . t('Hello there!') . '', ); } }
File: modules/custom/hello/hello.module:
<?php /** * @file * Hello module. */
File: modules/custom/hello/hello.info.yml:
name: Hello type: module description: Hello demo module. core: 8.x