A
A
Alexey Arkh2016-12-19 12:47:51
PHP
Alexey Arkh, 2016-12-19 12:47:51

How to include dependency in drupal 8?

I decided to deal with Drupal 8. I created a controller, but how to transfer PDO and Twig instances to it, for example?
I suspect that somewhere you need to create a file like module_name.dependency.yml but Google is silent.
e4812645f21c44a6b6a5d6b1abc72358.png

Answer the question

In order to leave comments, you need to log in

2 answer(s)
Алексей Арх, 2016-12-19
@AlekseyArh

В общем нужно создать файл video.services.yml

services:
  video.index_controller:
    class: Drupal\video\Controller\VideoIndexController
    arguments: ['@video.model']
  video.model:
    class: Drupal\video\Model\VideoModel
    arguments: ['@database']

А в файле роутинга video.routing.yml
Вместо этого:
video.id:
  path: '/video/{id}'
  defaults:
    _controller: 'Drupal\video\Controller\VideoIndexController::video'
  requirements:
    _permission: 'access content'

Писать вот так. То есть использовать алиасы из файла video.services.yml и одно двоеточие вместо двух.
video.id:
  path: '/video/{id}'
  defaults:
    _controller: 'video.index_controller:video'
  requirements:
    _permission: 'access content'

В общем друпал та ещё помойка.

D
drupby, 2016-12-19
@drupby

Инъекция сервиса в контроллер https://docs.acquia.com/article/lesson-113-depende...
Сервисы ядра в cgit.drupalcode.org/drupal/tree/core/core.services.yml
Сервисы модулей соответственно в корневом каталоге модуля в файле MODULENAME.services.yml

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question