To get the paths you need take help of \Magento\Framework\Module\Dir class as shown below,
<?php
namespace ikodes\ModuleName\Controller\Index;
use Magento\Framework\App\Action\Action;
use Magento\Framework\App\Action\Context;
use Magento\Framework\Module\Dir;
class Blog extends Action
{
public function __construct(
Context $context,
Dir $moduleDir
) {
$this->moduleDir = $moduleDir;
parent::__construct($context);
}
public function execute()
{
$modulePath = $this->moduleDir->getDir(‘Ikodes_ModuleName’);
$moduleEtcPath = $this->moduleDir->getDir(‘Ikodes_ModuleName’, Dir::MODULE_ETC_DIR);
$moduleI18nPath = $this->moduleDir->getDir(‘Ikodes_ModuleName’, Dir::MODULE_I18N_DIR);
$moduleViewPath = $this->moduleDir->getDir(‘Ikodes_ModuleName’, Dir::MODULE_VIEW_DIR);
$moduleControllerPath = $this->moduleDir->getDir(‘Ikodes_ModuleName’, Dir::MODULE_CONTROLLER_DIR);
$moduleSetupPath = $this->moduleDir->getDir(‘Ikodes_ModuleName’, Dir::MODULE_SETUP_DIR);
}
}
If we do not provide any second parameter then getDir method will return path to module’s directory. We can provide the second parameter to get the specific folders of a module.
Thanks for reading. Feel free to contact usContact if you face any issue.