*/
use Drupal\Core\DependencyInjection\ContainerNotInitializedException;
-use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Messenger\LegacyMessenger;
use Drupal\Core\Url;
+use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Static Service Container wrapper.
/**
* The current system version.
*/
- const VERSION = '8.3.4';
+ const VERSION = '8.6.4';
/**
* Core API compatibility.
return static::$container !== NULL;
}
-
/**
* Retrieves a service from the container.
*
}
/**
- * Retrives the request stack.
+ * Retrieves the request stack.
*
* @return \Symfony\Component\HttpFoundation\RequestStack
* The request stack
* One common usecase is to provide a class which contains the actual code
* of a hook implementation, without having to create a service.
*
- * @return \Drupal\Core\DependencyInjection\ClassResolverInterface
- * The class resolver.
+ * @param string $class
+ * (optional) A class name to instantiate.
+ *
+ * @return \Drupal\Core\DependencyInjection\ClassResolverInterface|object
+ * The class resolver or if $class is provided, a class instance with a
+ * given class definition.
+ *
+ * @throws \InvalidArgumentException
+ * If $class does not exist.
*/
- public static function classResolver() {
+ public static function classResolver($class = NULL) {
+ if ($class) {
+ return static::getContainer()->get('class_resolver')->getInstanceFromDefinition($class);
+ }
return static::getContainer()->get('class_resolver');
}
return static::getContainer()->get('datetime.time');
}
+ /**
+ * Returns the messenger.
+ *
+ * @return \Drupal\Core\Messenger\MessengerInterface
+ * The messenger.
+ */
+ public static function messenger() {
+ // @todo Replace with service once LegacyMessenger is removed in 9.0.0.
+ // @see https://www.drupal.org/node/2928994
+ return new LegacyMessenger();
+ }
+
}