AppserverIo\Appserver\Core\Api\Node\ProvisionNode::getInstallation PHP Метод

getInstallation() публичный Метод

Returns the node containing installation information.
public getInstallation ( ) : InstallationNode
Результат InstallationNode The node containing installation information
    public function getInstallation()
    {
        return $this->installation;
    }

Usage Example

 /**
  * Executes the passed applications provisioning workflow.
  *
  *
  * @param \AppserverIo\Psr\Application\ApplicationInterface  $application   The application instance
  * @param \AppserverIo\Appserver\Core\Api\Node\ProvisionNode $provisionNode The file with the provisioning information
  * @param \SplFileInfo                                       $webappPath    The path to the webapp folder
  *
  * @return void
  */
 protected function executeProvision(ApplicationInterface $application, ProvisionNode $provisionNode, \SplFileInfo $webappPath)
 {
     // load the steps from the configuration
     $stepNodes = $provisionNode->getInstallation()->getSteps();
     if (!is_array($stepNodes)) {
         return;
     }
     // execute all steps found in the configuration
     foreach ($stepNodes as $stepNode) {
         try {
             // create a new reflection class of the step
             $reflectionClass = new \ReflectionClass($stepNode->getType());
             $step = $reflectionClass->newInstance();
             // try to inject the datasource node if available
             if ($datasourceNode = $provisionNode->getDatasource()) {
                 $step->injectDataSourceNode($datasourceNode);
             }
             // inject all other information
             $step->injectStepNode($stepNode);
             $step->injectApplication($application);
             $step->injectService($this->getService());
             $step->injectWebappPath($webappPath->getPathname());
             $step->injectInitialContext($this->getInitialContext());
             $step->injectPhpExecutable($this->getAbsolutPathToPhpExecutable());
             // execute the step finally
             $step->start(PTHREADS_INHERIT_NONE | PTHREADS_INHERIT_CONSTANTS);
             $step->join();
         } catch (\Exception $e) {
             $this->getInitialContext()->getSystemLogger()->error($e->__toString());
         }
     }
 }
All Usage Examples Of AppserverIo\Appserver\Core\Api\Node\ProvisionNode::getInstallation