(@mbovan)
name: Drupal 8 Demo
description: 'Drupal 8 demo module'
type: module
core: 8.x
name: Drupal 8 Demo
description: 'Drupal 8 demo module'
type: module
core: 8.x
dependencies:
- node
test_dependencies:
- test_module
configure: configure.route
{
"name": "drupal/demo",
"description": "This is an example composer.json for demo module.",
"type": "drupal-module",
"license": "GPL-2.0+"
}
\Drupal::request()
Drupal 8 Docs
demo.route:
path: '/demo'
defaults:
_controller: '\Drupal\demo\Controller\DemoController::demo'
_title: 'Demo'
requirements:
_permission: 'access content'
demo.route:
path: '/demo'
defaults:
_controller: '\Drupal\demo\Controller\DemoController::demo'
_title: 'Demo'
requirements:
_permission: 'access content'
demo.param:
path: '/admin/content/demo/{node}'
defaults:
_controller: '\Drupal\demo\Controller\DemoController::param'
_title: 'Demo'
requirements:
_permission: 'access content'
<?php
namespace Drupal\demo\Controller;
class DemoController {
public function demo() {
return ['#markup' => t('Demo')];
}
}
<?php
namespace Drupal\demo\Controller;
use Drupal\node\NodeInterface;
class DemoController {
public function demo() {
return ['#markup' => t('Demo')];
}
public function param(NodeInterface $node) {
return ['#markup' => $node->label()];
}
}
demo.route:
title: 'Demo menu item'
parent: system.admin_structure
description: 'Provides a link to the demo route.'
route_name: demo.route
demo.task:
title: Demo task
route_name: demo.route
base_route: system.admin_content
demo.action:
route_name: demo.route
title: Add demo item
appears_on:
- system.admin_content
administer demo:
title: Administer Demo
services:
demo.service:
class: Drupal\demo\DemoService
services:
demo.service:
class: Drupal\demo\DemoService
arguments: ['@entity_type.manager']
<?php
namespace Drupal\demo\Plugin\Block;
use Drupal\Core\Block\BlockBase;
/**
* Demo block.
*
* @Block(
* id = "demo_block",
* admin_label = @Translation("Demo block"),
* )
*/
class DemoBlock extends BlockBase {
public function build() {
return ['#markup' => $this->t('Demo block')];
}
}
bit.ly/d8-demo (Demo module Github repository)
bit.ly/d8-demo-slides (Slides)
drupal.org/docs/8
api.drupal.org/api/drupal/8
@mbovan