b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / a / home / dev2.destoffenstraat.com / vendor / magento / framework / Module /
Filename/home/a/home/dev2.destoffenstraat.com/vendor/magento/framework/Module/Dir.php
Size2.11 kb
Permissionrw-r--r--
Ownerroot : root
Create time21-Aug-2025 12:26
Last modified07-Jan-2021 21:08
Last accessed22-Aug-2025 21:34
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Module;

use Magento\Framework\Component\ComponentRegistrar;
use Magento\Framework\Component\ComponentRegistrarInterface;

/**
* Encapsulates directories structure of a Magento module
*/
class Dir
{
/**#@+
* Directories within modules
*/
const MODULE_ETC_DIR = 'etc';
const MODULE_I18N_DIR = 'i18n';
const MODULE_VIEW_DIR = 'view';
const MODULE_CONTROLLER_DIR = 'Controller';
const MODULE_SETUP_DIR = 'Setup';
/**#@-*/

private const ALLOWED_DIR_TYPES = [
self::MODULE_ETC_DIR => true,
self::MODULE_I18N_DIR => true,
self::MODULE_VIEW_DIR => true,
self::MODULE_CONTROLLER_DIR => true,
self::MODULE_SETUP_DIR => true
];

/**#@-*/
private $componentRegistrar;

/**
* @param ComponentRegistrarInterface $componentRegistrar
*/
public function __construct(ComponentRegistrarInterface $componentRegistrar)
{
$this->componentRegistrar = $componentRegistrar;
}

/**
* Retrieve full path to a directory of certain type within a module
*
* @param string $moduleName Fully-qualified module name
* @param string $type Type of module's directory to retrieve
* @return string
* @throws \InvalidArgumentException
*/
public function getDir($moduleName, $type = '')
{
$path = $this->componentRegistrar->getPath(ComponentRegistrar::MODULE, $moduleName);

// An empty $type means it's getting the directory of the module itself.
if (empty($type) && !isset($path)) {
// Note: do not throw \LogicException, as it would break backwards-compatibility.
throw new \InvalidArgumentException("Module '$moduleName' is not correctly registered.");
}

if ($type) {
if (!isset(self::ALLOWED_DIR_TYPES[$type])) {
throw new \InvalidArgumentException("Directory type '{$type}' is not recognized.");
}
$path .= '/' . $type;
}

return $path;
}
}