X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=Civi.php;h=a018bb54d9d2ef2ff07fd2f682688783a3b13de7;hb=04be7901551a36b8f864a4968bc227622b571c43;hp=e52dd1614849e230584e55ccfbdb6b1733d67e3a;hpb=372d897eed3f8d5736b7dcb710d0c604e7a0328c;p=civicrm-core.git diff --git a/Civi.php b/Civi.php index e52dd16148..a018bb54d9 100644 --- a/Civi.php +++ b/Civi.php @@ -23,7 +23,7 @@ class Civi { * `Civi::$statics[__CLASS__]['foo'] = 'bar'; * ``` */ - public static $statics = array(); + public static $statics = []; /** * Retrieve a named cache instance. @@ -64,7 +64,14 @@ class Civi { * @return \Symfony\Component\EventDispatcher\EventDispatcherInterface */ public static function dispatcher() { - return Civi\Core\Container::singleton()->get('dispatcher'); + // NOTE: The dispatcher object is initially created as a boot service + // (ie `dispatcher.boot`). For compatibility with the container (eg + // `RegisterListenersPass` and `createEventDispatcher` addons), + // it is also available as the `dispatcher` service. + // + // The 'dispatcher.boot' and 'dispatcher' services are the same object, + // but 'dispatcher.boot' is resolvable earlier during bootstrap. + return Civi\Core\Container::getBootService('dispatcher.boot'); } /** @@ -75,10 +82,16 @@ class Civi { } /** - * @return \CRM_Core_Error_Log + * Find or create a logger. + * + * @param string $channel + * Symbolic name (or channel) of the intended log. + * This should correlate to a service "log.{NAME}". + * + * @return \Psr\Log\LoggerInterface */ - public static function log() { - return Civi\Core\Container::singleton()->get('psr_log'); + public static function log($channel = 'default') { + return \Civi\Core\Container::singleton()->get('psr_log_manager')->getLog($channel); } /** @@ -106,7 +119,7 @@ class Civi { * singletons, containers. */ public static function reset() { - self::$statics = array(); + self::$statics = []; Civi\Core\Container::singleton(); }