getApplicationPath() public method

Get the path of the application directory
public getApplicationPath ( ) : string
return string
 /**
  * @group pathspec
  */
 public function testDefaultValuesArePSR0()
 {
     $pathSpec = new ModulePathSpec($this->getModuleUtils());
     $this->assertEquals('/app/ModuleName', $pathSpec->getModulePath('ModuleName'));
     $this->assertEquals('/app/ModuleName/config', $pathSpec->getModuleConfigPath('ModuleName'));
     $this->assertEquals('/app/ModuleName/config/module.config.php', $pathSpec->getModuleConfigFilePath('ModuleName'));
     $this->assertEquals('.', $pathSpec->getApplicationPath());
     $this->assertEquals('/app/ModuleName/src/ModuleName', $pathSpec->getModuleSourcePath('ModuleName'));
     $this->assertEquals('/app/ModuleName/src/ModuleName', $pathSpec->getModuleSourcePath('ModuleName'));
     $this->assertEquals('psr-0', $pathSpec->getPathSpec());
     $this->assertEquals('/app/ModuleName/view', $pathSpec->getModuleViewPath('ModuleName'));
     $this->assertEquals('/app/ModuleName/src/ModuleName/V1/Rest/', $pathSpec->getRestPath('ModuleName'));
     $this->assertEquals('/app/ModuleName/src/ModuleName/V1/Rpc/', $pathSpec->getRpcPath('ModuleName'));
 }
 /**
  * Create a module
  *
  * @param  string $module
  * @param  string $path
  * @param  integer $ver
  * @return boolean
  */
 public function createModule($module, ModulePathSpec $pathSpec)
 {
     $path = $pathSpec->getApplicationPath();
     $application = (require "{$path}/config/application.config.php");
     if (is_array($application) && isset($application['modules']) && in_array($module, $application['modules'], true)) {
         // Module already exists in configuration
         return false;
     }
     $modulePath = $pathSpec->getModulePath($module, $path);
     if (file_exists($modulePath)) {
         throw new \Exception(sprintf('Cannot create new API module; module by the name "%s" already exists', $module), 409);
     }
     $moduleSourcePath = $pathSpec->getModuleSourcePath($module);
     $moduleSourceRelativePath = $pathSpec->getModuleSourcePath($module, false);
     $moduleConfigPath = $pathSpec->getModuleConfigPath($module);
     mkdir($moduleConfigPath, 0775, true);
     mkdir($pathSpec->getModuleViewPath($module), 0775, true);
     mkdir($pathSpec->getRestPath($module, 1), 0775, true);
     mkdir($pathSpec->getRpcPath($module, 1), 0775, true);
     if (!file_put_contents("{$moduleConfigPath}/module.config.php", "<" . "?php\nreturn array(\n);")) {
         return false;
     }
     $view = new ViewModel(['module' => $module]);
     $resolver = new Resolver\TemplateMapResolver(['module/skeleton' => __DIR__ . '/../../view/module/skeleton.phtml', 'module/skeleton-psr4' => __DIR__ . '/../../view/module/skeleton-psr4.phtml']);
     $renderer = new PhpRenderer();
     $renderer->setResolver($resolver);
     if ($pathSpec->getPathSpec() === 'psr-0') {
         $view->setTemplate('module/skeleton');
         $moduleRelClassPath = "{$moduleSourceRelativePath}/Module.php";
         if (!file_put_contents("{$modulePath}/Module.php", "<" . "?php\nrequire __DIR__ . '{$moduleRelClassPath}';")) {
             return false;
         }
         if (!file_put_contents("{$moduleSourcePath}/Module.php", "<" . "?php\n" . $renderer->render($view))) {
             return false;
         }
     } else {
         $view->setTemplate('module/skeleton-psr4');
         if (!file_put_contents("{$modulePath}/Module.php", "<" . "?php\n" . $renderer->render($view))) {
             return false;
         }
     }
     // Add the module in application.config.php
     if (is_array($application) && isset($application['modules']) && !in_array($module, $application['modules'], true)) {
         $application['modules'][] = $module;
         if (!$this->writeApplicationConfig($application, $path)) {
             return false;
         }
     }
     return true;
 }