From dbfca377034710c27f1bd32b99baa3edb2e2ada8 Mon Sep 17 00:00:00 2001 From: Diego Saint Esteben Date: Thu, 11 Jun 2015 12:10:04 -0300 Subject: [PATCH] [Config] Add deprecation warning If someone extends FileLoader and do not call the parent constructor a deprecation warning should be triggered. --- src/Symfony/Component/Config/Loader/FileLoader.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Config/Loader/FileLoader.php b/src/Symfony/Component/Config/Loader/FileLoader.php index 9c1b4d9f1e..88ec070f17 100644 --- a/src/Symfony/Component/Config/Loader/FileLoader.php +++ b/src/Symfony/Component/Config/Loader/FileLoader.php @@ -86,7 +86,12 @@ abstract class FileLoader extends Loader // we fallback to the current locator to keep BC // as some some loaders do not call the parent __construct() // @deprecated should be removed in 3.0 - $locator = $loader->getLocator() ?: $this->locator; + $locator = $loader->getLocator(); + if (null === $locator) { + @trigger_error('Not calling the parent constructor in '.get_class($loader).' which extends '.__CLASS__.' is deprecated since version 2.7 and will not be supported anymore in 3.0.', E_USER_DEPRECATED); + $locator = $this->locator; + } + $resource = $locator->locate($resource, $this->currentDir, false); }