ComponentInstaller\Process\Process::init PHP Метод

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

public init ( )
    public function init()
    {
        // Retrieve the configuration variables.
        $this->config = $this->composer->getConfig();
        if (isset($this->config)) {
            if ($this->config->has('component-dir')) {
                $this->componentDir = $this->config->get('component-dir');
            }
        }
        // Get the available packages.
        $allPackages = array();
        /** @var \Composer\Package\Locker $locker */
        $locker = $this->composer->getLocker();
        if ($locker !== null && $locker->isLocked()) {
            $lockData = $locker->getLockData();
            $allPackages = $lockData['packages'];
            // Also merge in any of the development packages.
            $dev = isset($lockData['packages-dev']) ? $lockData['packages-dev'] : array();
            foreach ($dev as $package) {
                $allPackages[] = $package;
            }
        }
        // Only add those packages that we can reasonably
        // assume are components into our packages list
        /** @var \Composer\Package\RootPackageInterface $rootPackage */
        $rootPackage = $this->composer->getPackage();
        $rootExtras = $rootPackage ? $rootPackage->getExtra() : array();
        $customComponents = isset($rootExtras['component']) ? $rootExtras['component'] : array();
        foreach ($allPackages as $package) {
            $name = $package['name'];
            if (isset($customComponents[$name]) && is_array($customComponents[$name])) {
                $package['extra'] = array('component' => $customComponents[$name]);
                $this->packages[] = $package;
            } else {
                $extra = isset($package['extra']) ? $package['extra'] : array();
                if (isset($extra['component']) && is_array($extra['component'])) {
                    $this->packages[] = $package;
                }
            }
        }
        // Add the root package to the packages list.
        $root = $this->composer->getPackage();
        if ($root) {
            $dumper = new ArrayDumper();
            $package = $dumper->dump($root);
            $package['is-root'] = true;
            $this->packages[] = $package;
        }
        return true;
    }

Usage Example

Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function init()
 {
     $output = parent::init();
     if ($this->config->has('component-baseurl')) {
         $this->baseUrl = $this->config->get('component-baseurl');
     }
     return $output;
 }
All Usage Examples Of ComponentInstaller\Process\Process::init