diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php index 18efeb3d97..987ecbf57e 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php +++ b/src/Symfony/Bundle/FrameworkBundle/Command/AssetsInstallCommand.php @@ -137,13 +137,13 @@ EOT $validAssetDirs = []; /** @var BundleInterface $bundle */ foreach ($kernel->getBundles() as $bundle) { - if (!method_exists($bundle, 'getPublicPath')) { - @trigger_error('Not defining "getPublicPath()" method is deprecated since Symfony 4.4 and will not be supported in 5.0.', E_USER_DEPRECATED); - $publicPath = 'Resources/public'; + if (!method_exists($bundle, 'getPublicDir')) { + @trigger_error(sprintf('Not defining "getPublicDir()" method in the "%s" class is deprecated since Symfony 4.4 and will not be supported in 5.0.', get_class($bundle)), E_USER_DEPRECATED); + $publicDir = 'Resources/public'; } else { - $publicPath = $bundle->getPublicPath(); + $publicDir = ltrim($bundle->getPublicDir(), '\\/'); } - if (!is_dir($originDir = $bundle->getPath().\DIRECTORY_SEPARATOR.$publicPath)) { + if (!is_dir($originDir = $bundle->getPath().\DIRECTORY_SEPARATOR.$publicDir)) { continue; } diff --git a/src/Symfony/Component/HttpKernel/Bundle/Bundle.php b/src/Symfony/Component/HttpKernel/Bundle/Bundle.php index c3c1babe4d..ca190ee695 100644 --- a/src/Symfony/Component/HttpKernel/Bundle/Bundle.php +++ b/src/Symfony/Component/HttpKernel/Bundle/Bundle.php @@ -135,7 +135,7 @@ abstract class Bundle implements BundleInterface { } - public function getPublicPath(): string + public function getPublicDir(): string { return 'Resources/public'; } diff --git a/src/Symfony/Component/HttpKernel/Bundle/BundleInterface.php b/src/Symfony/Component/HttpKernel/Bundle/BundleInterface.php index 8dfba0a244..c45754b3ee 100644 --- a/src/Symfony/Component/HttpKernel/Bundle/BundleInterface.php +++ b/src/Symfony/Component/HttpKernel/Bundle/BundleInterface.php @@ -20,7 +20,7 @@ use Symfony\Component\DependencyInjection\Extension\ExtensionInterface; * * @author Fabien Potencier * - * @method string getPublicPath() Returns relative path for public assets + * @method string getPublicDir() Returns relative path for the public assets directory */ interface BundleInterface extends ContainerAwareInterface { diff --git a/src/Symfony/Component/HttpKernel/Tests/KernelTest.php b/src/Symfony/Component/HttpKernel/Tests/KernelTest.php index 845e8ceb0a..0c500bdfd1 100644 --- a/src/Symfony/Component/HttpKernel/Tests/KernelTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/KernelTest.php @@ -627,7 +627,7 @@ EOF; { $bundle = $this ->getMockBuilder('Symfony\Component\HttpKernel\Bundle\BundleInterface') - ->setMethods(['getPath', 'getPublicPath', 'getParent', 'getName']) + ->setMethods(['getPath', 'getPublicDir', 'getParent', 'getName']) ->disableOriginalConstructor() ; @@ -651,7 +651,7 @@ EOF; $bundle ->expects($this->any()) - ->method('getPublicPath') + ->method('getPublicDir') ->willReturn('Resources/public') ;