class CommentController extends ControllerBase (View source)

Controller for the comment entity.

Traits

LinkGeneratorTrait deprecated

Wrapper methods for the Link Generator.

Wrapper methods for the logger factory service.

Provides a trait for the messenger service.

Wrapper methods for the Redirect Destination.

Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.

UrlGeneratorTrait deprecated

Wrapper methods for the Url Generator.

Properties

protected LinkGeneratorInterface $linkGenerator

The link generator.

from  LinkGeneratorTrait
protected LoggerChannelFactoryInterface $loggerFactory

The logger channel factory service.

from  LoggerChannelTrait
protected MessengerInterface $messenger

The messenger.

from  MessengerTrait
protected RedirectDestinationInterface $redirectDestination

The redirect destination service.

from  RedirectDestinationTrait
protected TranslationInterface $stringTranslation

The string translation service.

from  StringTranslationTrait
protected UrlGeneratorInterface $urlGenerator

The url generator.

from  UrlGeneratorTrait
protected EntityManagerInterface $entityManager

The entity manager.

from  ControllerBase
protected EntityTypeManagerInterface $entityTypeManager

The entity type manager.

from  ControllerBase
protected EntityFormBuilderInterface $entityFormBuilder

The entity form builder.

from  ControllerBase
protected LanguageManagerInterface $languageManager

The language manager.

from  ControllerBase
protected ConfigFactoryInterface $configFactory

The configuration factory.

from  ControllerBase
protected KeyValueStoreInterface $keyValue

The key-value storage.

from  ControllerBase
protected AccountInterface $currentUser

The current user service.

from  ControllerBase
protected StateInterface $stateService

The state service.

from  ControllerBase
protected ModuleHandlerInterface $moduleHandler

The module handler.

from  ControllerBase
protected FormBuilderInterface $formBuilder

The form builder.

from  ControllerBase
protected HttpKernelInterface $httpKernel

The HTTP kernel.

protected CommentManagerInterface $commentManager

The comment manager service.

protected EntityFieldManagerInterface $entityFieldManager

The entity field manager.

protected EntityRepositoryInterface $entityRepository

The entity repository.

Methods

l($text, Url $url) deprecated

Renders a link to a route given a route name and its parameters.

getLinkGenerator() deprecated

Returns the link generator.

$this
setLinkGenerator(LinkGeneratorInterface $generator) deprecated

Sets the link generator service.

LoggerInterface
getLogger(string $channel)

Gets the logger for a specific channel.

$this
setLoggerFactory(LoggerChannelFactoryInterface $logger_factory)

Injects the logger channel factory.

setMessenger(MessengerInterface $messenger)

Sets the messenger.

messenger()

Gets the messenger.

array
getDestinationArray()

Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.

getRedirectDestination()

Returns the redirect destination service.

$this
setRedirectDestination(RedirectDestinationInterface $redirect_destination)

Sets the redirect destination service.

t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

getStringTranslation()

Gets the string translation service.

$this
setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

string
url($route_name, $route_parameters = [], $options = []) deprecated

Generates a URL or path for a specific route based on the given parameters.

RedirectResponse
redirect(string $route_name, array $route_parameters = [], array $options = [], int $status = 302) deprecated

Returns a redirect response object for the specified route.

getUrlGenerator() deprecated

Returns the URL generator service.

$this
setUrlGenerator(UrlGeneratorInterface $generator) deprecated

Sets the URL generator service.

static 
create(ContainerInterface $container)

Instantiates a new instance of this class.

entityManager() deprecated

Retrieves the entity manager service.

entityTypeManager()

Retrieves the entity type manager.

entityFormBuilder()

Retrieves the entity form builder.

cache(string $bin = 'default')

Returns the requested cache bin.

config(string $name)

Retrieves a configuration object.

keyValue(string $collection)

Returns a key/value storage collection.

state()

Returns the state storage service.

moduleHandler()

Returns the module handler.

formBuilder()

Returns the form builder service.

currentUser()

Returns the current user.

languageManager()

Returns the language manager service.

__construct(HttpKernelInterface $http_kernel, CommentManagerInterface $comment_manager, EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $entity_field_manager = NULL, EntityRepositoryInterface $entity_repository = NULL)

Constructs a CommentController object.

RedirectResponse
commentApprove(CommentInterface $comment)

Publishes the specified comment.

Response
commentPermalink(Request $request, CommentInterface $comment)

Redirects comment links to the correct page depending on comment settings.

string
commentPermalinkTitle(CommentInterface $comment)

The _title_callback for the page that renders the comment permalink.

RedirectResponse
redirectNode(EntityInterface $node)

Redirects legacy node links to the new path.

array|RedirectResponse
getReplyForm(Request $request, EntityInterface $entity, string $field_name, int $pid = NULL)

Form constructor for the comment reply form.

replyFormAccess(EntityInterface $entity, string $field_name, int $pid = NULL)

Access check for the reply form.

JsonResponse
renderNewCommentsNodeLinks(Request $request)

Returns a set of nodes' last read timestamps.

Details

protected GeneratedLink l($text, Url $url) deprecated

deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Link::fromTextAndUrl() instead.

Renders a link to a route given a route name and its parameters.

For details on the arguments, usage, and possible exceptions see \Drupal\Core\Utility\LinkGeneratorInterface::generate().

Parameters

$text
Url $url

Return Value

GeneratedLink

A GeneratedLink object containing a link to the given route and parameters and bubbleable metadata.

See also

https://www.drupal.org/node/2614344
LinkGeneratorInterface::generate

protected LinkGeneratorInterface getLinkGenerator() deprecated

deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Inject the 'link_generator' service or use \Drupal\Core\Link instead

Returns the link generator.

Return Value

LinkGeneratorInterface

The link generator

See also

https://www.drupal.org/node/2614344

$this setLinkGenerator(LinkGeneratorInterface $generator) deprecated

deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Inject the 'link_generator' service or use \Drupal\Core\Link instead

Sets the link generator service.

Parameters

LinkGeneratorInterface $generator

The link generator service.

Return Value

$this

See also

https://www.drupal.org/node/2614344

protected LoggerInterface getLogger(string $channel)

Gets the logger for a specific channel.

Require the use of injected services: https://www.drupal.org/node/2733703

Parameters

string $channel

The name of the channel. Can be any string, but the general practice is to use the name of the subsystem calling this.

Return Value

LoggerInterface

The logger for the given channel.

$this setLoggerFactory(LoggerChannelFactoryInterface $logger_factory)

Injects the logger channel factory.

Parameters

LoggerChannelFactoryInterface $logger_factory

The logger channel factory service.

Return Value

$this

setMessenger(MessengerInterface $messenger)

Sets the messenger.

Parameters

MessengerInterface $messenger

The messenger.

MessengerInterface messenger()

Gets the messenger.

Return Value

MessengerInterface

The messenger.

protected array getDestinationArray()

Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.

Return Value

array

An associative array containing the key:

  • destination: The value of the current request's 'destination' query parameter, if present. This can be either a relative or absolute URL. However, for security, redirection to external URLs is not performed. If the query parameter isn't present, then the URL of the current request is returned.

See also

RedirectDestinationInterface::getAsArray

protected RedirectDestinationInterface getRedirectDestination()

Returns the redirect destination service.

Return Value

RedirectDestinationInterface

The redirect destination helper.

$this setRedirectDestination(RedirectDestinationInterface $redirect_destination)

Sets the redirect destination service.

Parameters

RedirectDestinationInterface $redirect_destination

The redirect destination service.

Return Value

$this

protected TranslatableMarkup t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.

In order for strings to be localized, make them available in one of the ways supported by the

Parameters

string $string

A string containing the English text to translate.

array $args

(optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the @link i18n Internationalization topic @endlink for more information about string contexts.

Return Value

TranslatableMarkup

An object that, when cast to a string, returns the translated string.

See also

FormattableMarkup::placeholderFormat
TranslatableMarkup::__construct

protected formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

Parameters

$count
$singular
$plural
array $args
array $options

See also

TranslationInterface::formatPlural

protected getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

Parameters

$langcode

See also

PluralFormulaInterface::getNumberOfPlurals

protected TranslationInterface getStringTranslation()

Gets the string translation service.

Return Value

TranslationInterface

The string translation service.

$this setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

Parameters

TranslationInterface $translation

The string translation service.

Return Value

$this

protected string url($route_name, $route_parameters = [], $options = []) deprecated

deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Url::fromUri() instead.

Generates a URL or path for a specific route based on the given parameters.

For details on the arguments, usage, and possible exceptions see \Drupal\Core\Routing\UrlGeneratorInterface::generateFromRoute().

Parameters

$route_name
$route_parameters
$options

Return Value

string

The generated URL for the given route.

See also

UrlGeneratorInterface::generateFromRoute

protected RedirectResponse redirect(string $route_name, array $route_parameters = [], array $options = [], int $status = 302) deprecated

deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use new RedirectResponse(Url::fromRoute()) instead.

Returns a redirect response object for the specified route.

Parameters

string $route_name

The name of the route to which to redirect.

array $route_parameters

(optional) Parameters for the route.

array $options

(optional) An associative array of additional options.

int $status

(optional) The HTTP redirect status code for the redirect. The default is 302 Found.

Return Value

RedirectResponse

A redirect response object that may be returned by the controller.

protected UrlGeneratorInterface getUrlGenerator() deprecated

deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use the url_generator service instead.

Returns the URL generator service.

Return Value

UrlGeneratorInterface

The URL generator service.

$this setUrlGenerator(UrlGeneratorInterface $generator) deprecated

deprecated in drupal:8.0.0 and is removed from drupal:9.0.0.

Sets the URL generator service.

Parameters

UrlGeneratorInterface $generator

The url generator service.

Return Value

$this

static create(ContainerInterface $container)

Instantiates a new instance of this class.

This is a factory method that returns a new instance of this class. The factory should pass any needed dependencies into the constructor of this class, but not the container itself. Every call to this method must return a new instance of this class; that is, it may not implement a singleton.

Parameters

ContainerInterface $container

The service container this instance should use.

protected EntityManagerInterface entityManager() deprecated

deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Most of the time static::entityTypeManager() is supposed to be used instead.

Retrieves the entity manager service.

Return Value

EntityManagerInterface

The entity manager service.

protected EntityTypeManagerInterface entityTypeManager()

Retrieves the entity type manager.

Return Value

EntityTypeManagerInterface

The entity type manager.

protected EntityFormBuilderInterface entityFormBuilder()

Retrieves the entity form builder.

Return Value

EntityFormBuilderInterface

The entity form builder.

protected CacheBackendInterface cache(string $bin = 'default')

Returns the requested cache bin.

Parameters

string $bin

(optional) The cache bin for which the cache object should be returned, defaults to 'default'.

Return Value

CacheBackendInterface

The cache object associated with the specified bin.

protected Config config(string $name)

Retrieves a configuration object.

This is the main entry point to the configuration API. Calling

Parameters

string $name

The name of the configuration object to retrieve. The name corresponds to a configuration file. For @code \Drupal::config('book.admin') @endcode, the config object returned will contain the contents of book.admin configuration file.

Return Value

Config

A configuration object.

protected KeyValueStoreInterface keyValue(string $collection)

Returns a key/value storage collection.

Parameters

string $collection

Name of the key/value collection to return.

Return Value

KeyValueStoreInterface

protected StateInterface state()

Returns the state storage service.

Use this to store machine-generated data, local to a specific environment that does not need deploying and does not need human editing; for example, the last time cron was run. Data which needs to be edited by humans and needs to be the same across development, production, etc. environments (for example, the system maintenance message) should use config() instead.

Return Value

StateInterface

protected ModuleHandlerInterface moduleHandler()

Returns the module handler.

Return Value

ModuleHandlerInterface

protected FormBuilderInterface formBuilder()

Returns the form builder service.

Return Value

FormBuilderInterface

protected AccountInterface currentUser()

Returns the current user.

Return Value

AccountInterface

The current user.

protected LanguageManagerInterface languageManager()

Returns the language manager service.

Return Value

LanguageManagerInterface

The language manager.

__construct(HttpKernelInterface $http_kernel, CommentManagerInterface $comment_manager, EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $entity_field_manager = NULL, EntityRepositoryInterface $entity_repository = NULL)

Constructs a CommentController object.

Parameters

HttpKernelInterface $http_kernel

HTTP kernel to handle requests.

CommentManagerInterface $comment_manager

The comment manager service.

EntityTypeManagerInterface $entity_type_manager

The entity type manager service.

EntityFieldManagerInterface $entity_field_manager

The entity field manager service.

EntityRepositoryInterface $entity_repository

The entity repository service.

RedirectResponse commentApprove(CommentInterface $comment)

Publishes the specified comment.

Parameters

CommentInterface $comment

A comment entity.

Return Value

RedirectResponse

Redirects comment links to the correct page depending on comment settings.

Since comments are paged there is no way to guarantee which page a comment appears on. Comment paging and threading settings may be changed at any time. With threaded comments, an individual comment may move between pages as comments can be added either before or after it in the overall discussion. Therefore we use a central routing function for comment links, which calculates the page number based on current comment settings and returns the full comment view with the pager set dynamically.

Parameters

Request $request

The request of the page.

CommentInterface $comment

A comment entity.

Return Value

Response

The comment listing set to the page on which the comment appears.

Exceptions

NotFoundHttpException
AccessDeniedHttpException

string commentPermalinkTitle(CommentInterface $comment)

The _title_callback for the page that renders the comment permalink.

Parameters

CommentInterface $comment

The current comment.

Return Value

string

The translated comment subject.

RedirectResponse redirectNode(EntityInterface $node)

Redirects legacy node links to the new path.

Parameters

EntityInterface $node

The node object identified by the legacy URL.

Return Value

RedirectResponse

Redirects user to new url.

Exceptions

NotFoundHttpException

array|RedirectResponse getReplyForm(Request $request, EntityInterface $entity, string $field_name, int $pid = NULL)

Form constructor for the comment reply form.

There are several cases that have to be handled, including:

  • replies to comments
  • replies to entities

Parameters

Request $request

The current request object.

EntityInterface $entity

The entity this comment belongs to.

string $field_name

The field_name to which the comment belongs.

int $pid

(optional) Some comments are replies to other comments. In those cases, $pid is the parent comment's comment ID. Defaults to NULL.

Return Value

array|RedirectResponse

An associative array containing:

  • An array for rendering the entity or parent comment.
    • comment_entity: If the comment is a reply to the entity.
    • comment_parent: If the comment is a reply to another comment.
  • comment_form: The comment form as a renderable array.

Exceptions

NotFoundHttpException

AccessResultInterface replyFormAccess(EntityInterface $entity, string $field_name, int $pid = NULL)

Access check for the reply form.

Parameters

EntityInterface $entity

The entity this comment belongs to.

string $field_name

The field_name to which the comment belongs.

int $pid

(optional) Some comments are replies to other comments. In those cases, $pid is the parent comment's comment ID. Defaults to NULL.

Return Value

AccessResultInterface

An access result

Exceptions

NotFoundHttpException

Returns a set of nodes' last read timestamps.

Parameters

Request $request

The request of the page.

Return Value

JsonResponse

The JSON response.

Exceptions

AccessDeniedHttpException
NotFoundHttpException