book-2.0.x-dev/book.services.yml
book.services.yml
services:
book.breadcrumb:
class: Drupal\book\BookBreadcrumbBuilder
arguments: ['@entity_type.manager', '@current_user', '@entity.repository', '@language_manager']
tags:
- { name: breadcrumb_builder, priority: 701 }
book.manager:
class: Drupal\book\BookManager
arguments: ['@entity_type.manager', '@string_translation', '@config.factory', '@book.outline_storage', '@renderer', '@language_manager', '@entity.repository', '@book.backend_chained_cache', '@cache.book_memory', '@current_route_match', '@logger.factory']
lazy: true
Drupal\book\BookManagerInterface: '@book.manager'
book.outline:
class: Drupal\book\BookOutline
arguments: ['@book.manager']
Drupal\book\BookOutline: '@book.outline'
book.export:
class: Drupal\book\BookExport
arguments: ['@entity_type.manager', '@book.manager', '@entity.repository']
Drupal\book\BookExport: '@book.export'
book.outline_storage:
class: Drupal\book\BookOutlineStorage
arguments: ['@database']
tags:
- { name: backend_overridable }
Drupal\book\BookOutlineStorageInterface: '@book.outline_storage'
access_check.book.removable:
class: Drupal\book\Access\BookNodeIsRemovableAccessCheck
arguments: ['@book.manager']
tags:
- { name: access_check, applies_to: _access_book_removable }
access_check.book.node_outline:
class: Drupal\book\Access\BookNodeOutlineAccessCheck
arguments: [ '@current_user', '@config.factory' ]
tags:
- { name: access_check, applies_to: _access_node_book_outline }
access_check.book.node_print:
class: Drupal\book\Access\BookNodePrintAccessCheck
arguments: [ '@current_user' ]
tags:
- { name: access_check, applies_to: _access_node_book_print }
cache_context.route.book_navigation:
class: Drupal\book\Cache\BookNavigationCacheContext
arguments: ['@current_route_match', '@book.manager']
tags:
- { name: cache.context}
book.uninstall_validator:
class: Drupal\book\BookUninstallValidator
tags:
- { name: module_install.uninstall_validator }
arguments: ['@book.outline_storage', '@entity_type.manager', '@string_translation']
lazy: true
cache.book_memory:
class: Drupal\Core\Cache\MemoryCache\MemoryCacheInterface
tags:
- { name: cache.bin.memory, default_backend: cache.backend.memory.memory }
factory: ['@cache_factory', 'get']
arguments: [book_memory]
book.backend_chained_cache:
class: Drupal\Core\Cache\BackendChain
calls:
- [appendBackend, ['@cache.book_memory']]
- [appendBackend, ['@cache.data']]
tags:
# This tag ensures that Drupal's cache_tags.invalidator service
# invalidates also this cache data.
- { name: cache.bin.memory }
book.setting_save.subscriber:
class: Drupal\book\EventSubscriber\BookSettingsSaveEventSubscriber
tags:
- { name: event_subscriber }
