vendor/contao/core-bundle/src/HttpKernel/Bundle/ContaoModuleBundle.php line 21

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4.  * This file is part of Contao.
  5.  *
  6.  * (c) Leo Feyer
  7.  *
  8.  * @license LGPL-3.0-or-later
  9.  */
  10. namespace Contao\CoreBundle\HttpKernel\Bundle;
  11. use Symfony\Component\HttpKernel\Bundle\Bundle;
  12. use Webmozart\PathUtil\Path;
  13. /**
  14.  * Allows registering legacy Contao modules as bundle.
  15.  */
  16. final class ContaoModuleBundle extends Bundle
  17. {
  18.     /**
  19.      * Sets the module name and application root directory.
  20.      *
  21.      * @throws \LogicException
  22.      */
  23.     public function __construct(string $namestring $projectDir)
  24.     {
  25.         $this->name $name;
  26.         $this->path Path::join($projectDir'system/modules'$this->name);
  27.         if (is_dir($this->path)) {
  28.             return;
  29.         }
  30.         // Backwards compatibility, $projectDir was previously set from kernel $rootDir
  31.         $this->path Path::join($projectDir'../system/modules'$this->name);
  32.         if (!is_dir($this->path)) {
  33.             throw new \LogicException(sprintf('The module folder "system/modules/%s" does not exist.'$this->name));
  34.         }
  35.     }
  36. }