class ProcessBuilder

Process builder.

@author Kris Wallsmith <kris@symfony.com>

Hierarchy

Expanded class hierarchy of ProcessBuilder

16 files declare their use of ProcessBuilder
BaseCompressorFilter.php in drupal/core/vendor/kriswallsmith/assetic/src/Assetic/Filter/Yui/BaseCompressorFilter.php
CoffeeScriptFilter.php in drupal/core/vendor/kriswallsmith/assetic/src/Assetic/Filter/CoffeeScriptFilter.php
CompassFilter.php in drupal/core/vendor/kriswallsmith/assetic/src/Assetic/Filter/CompassFilter.php
CompilerJarFilter.php in drupal/core/vendor/kriswallsmith/assetic/src/Assetic/Filter/GoogleClosure/CompilerJarFilter.php
CssEmbedFilter.php in drupal/core/vendor/kriswallsmith/assetic/src/Assetic/Filter/CssEmbedFilter.php

... See full list

File

drupal/core/vendor/symfony/process/Symfony/Component/Process/ProcessBuilder.php, line 19

Namespace

Symfony\Component\Process
View source
class ProcessBuilder {
  private $arguments;
  private $cwd;
  private $env;
  private $stdin;
  private $timeout;
  private $options;
  private $inheritEnv;
  public function __construct(array $arguments = array()) {
    $this->arguments = $arguments;
    $this->timeout = 60;
    $this->options = array();
    $this->env = array();
    $this->inheritEnv = true;
  }
  public static function create(array $arguments = array()) {
    return new static($arguments);
  }

  /**
   * Adds an unescaped argument to the command string.
   *
   * @param string $argument A command argument
   */
  public function add($argument) {
    $this->arguments[] = $argument;
    return $this;
  }
  public function setWorkingDirectory($cwd) {
    $this->cwd = $cwd;
    return $this;
  }
  public function inheritEnvironmentVariables($inheritEnv = true) {
    $this->inheritEnv = $inheritEnv;
    return $this;
  }
  public function setEnv($name, $value) {
    $this->env[$name] = $value;
    return $this;
  }
  public function setInput($stdin) {
    $this->stdin = $stdin;
    return $this;
  }

  /**
   * Sets the process timeout.
   *
   * To disable the timeout, set this value to null.
   *
   * @param integer|null
   */
  public function setTimeout($timeout) {
    if (null === $timeout) {
      $this->timeout = null;
      return $this;
    }
    $timeout = (int) $timeout;
    if ($timeout < 0) {
      throw new \InvalidArgumentException('The timeout value must be a valid positive integer.');
    }
    $this->timeout = $timeout;
    return $this;
  }
  public function setOption($name, $value) {
    $this->options[$name] = $value;
    return $this;
  }
  public function getProcess() {
    if (!count($this->arguments)) {
      throw new \LogicException('You must add() command arguments before calling getProcess().');
    }
    $options = $this->options;
    $script = implode(' ', array_map('escapeshellarg', $this->arguments));
    if ($this->inheritEnv) {
      $env = $this->env ? $this->env + $_ENV : null;
    }
    else {
      $env = $this->env;
    }
    return new Process($script, $this->cwd, $env, $this->stdin, $this->timeout, $options);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ProcessBuilder::$arguments private property
ProcessBuilder::$cwd private property
ProcessBuilder::$env private property
ProcessBuilder::$inheritEnv private property
ProcessBuilder::$options private property
ProcessBuilder::$stdin private property
ProcessBuilder::$timeout private property
ProcessBuilder::add public function Adds an unescaped argument to the command string.
ProcessBuilder::create public static function
ProcessBuilder::getProcess public function
ProcessBuilder::inheritEnvironmentVariables public function
ProcessBuilder::setEnv public function
ProcessBuilder::setInput public function
ProcessBuilder::setOption public function
ProcessBuilder::setTimeout public function Sets the process timeout.
ProcessBuilder::setWorkingDirectory public function
ProcessBuilder::__construct public function