ResourceBase
abstract class ResourceBase extends PluginBase implements ContainerFactoryPluginInterface, ResourceInterface (View source)
Common base class for resource plugins.
Note that this base class' implementation of the permissions() method generates a permission for every method for a resource. If your resource already has its own access control mechanism, you should opt out from this default permissions() method by overriding it.
Traits
Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.
Provides dependency injection friendly methods for serialization.
Provides a trait for the messenger service.
Constants
| DERIVATIVE_SEPARATOR |
A string which is used to separate base plugin IDs from the derivative ID. |
Properties
| protected string | $pluginId | The plugin_id. |
from PluginBase |
| protected array | $pluginDefinition | The plugin implementation definition. |
from PluginBase |
| protected array | $configuration | Configuration information passed into the plugin. |
from PluginBase |
| protected TranslationInterface | $stringTranslation | The string translation service. |
from StringTranslationTrait |
| protected array | $_serviceIds | An array of service IDs keyed by property name used for serialization. |
from DependencySerializationTrait |
| protected array | $_entityStorages | An array of entity type IDs keyed by the property name of their storages. |
from DependencySerializationTrait |
| protected MessengerInterface | $messenger | The messenger. |
from MessengerTrait |
| protected array | $serializerFormats | The available serialization formats. |
|
| protected LoggerInterface | $logger | A logger instance. |
Methods
Constructs a Drupal\rest\Plugin\ResourceBase object.
Translates a string to the current language or to a given language.
Formats a string containing a count of items.
Returns the number of plurals supported by a given language.
Gets the string translation service.
Creates an instance of the plugin.
Implements ResourceInterface::permissions().
Returns a collection of routes with URL path information for the resource.
Provides predefined HTTP request methods.
Returns the available HTTP request methods on this plugin.
Gets the base route for a particular method.
Gets the base route requirements for a particular method.
Details
__construct(array $configuration, string $plugin_id, mixed $plugin_definition, array $serializer_formats, LoggerInterface $logger)
Constructs a Drupal\rest\Plugin\ResourceBase object.
string
getPluginId()
Gets the plugin_id of the plugin instance.
string
getBaseId()
Gets the base_plugin_id of the plugin instance.
string|null
getDerivativeId()
Gets the derivative_id of the plugin instance.
array
getPluginDefinition()
Gets the definition of the plugin implementation.
bool
isConfigurable()
Determines if the plugin is configurable.
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
protected
formatPlural($count, $singular, $plural, array $args = [], array $options = [])
Formats a string containing a count of items.
protected
getNumberOfPlurals($langcode = NULL)
Returns the number of plurals supported by a given language.
protected TranslationInterface
getStringTranslation()
Gets the string translation service.
$this
setStringTranslation(TranslationInterface $translation)
Sets the string translation service to use.
__sleep()
{@inheritdoc}
__wakeup()
{@inheritdoc}
setMessenger(MessengerInterface $messenger)
Sets the messenger.
MessengerInterface
messenger()
Gets the messenger.
static ContainerFactoryPluginInterface
create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)
Creates an instance of the plugin.
array
permissions()
Implements ResourceInterface::permissions().
Every plugin operation method gets its own user permission. Example: "restful delete entity:node" with the title "Access DELETE on Node resource".
RouteCollection
routes()
Returns a collection of routes with URL path information for the resource.
This method determines where a resource is reachable, what path replacements are used, the required HTTP method for the operation etc.
protected array
requestMethods()
Provides predefined HTTP request methods.
Plugins can override this method to provide additional custom request methods.
array
availableMethods()
Returns the available HTTP request methods on this plugin.
protected Route
getBaseRoute(string $canonical_path, string $method)
Gets the base route for a particular method.
protected array
getBaseRouteRequirements($method)
Gets the base route requirements for a particular method.