Bolt\Composer\Action\AbstractDependencyAction::execute PHP Метод

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

Execute.
public execute ( string $packageName, string $textConstraint = '*', boolean $onlyLocal = true ) : Bolt\Composer\Package\Dependency[] | null
$packageName string Package to inspect.
$textConstraint string Optional version constraint
$onlyLocal boolean
Результат Bolt\Composer\Package\Dependency[] | null
    public function execute($packageName, $textConstraint = '*', $onlyLocal = true)
    {
        // Find packages that are or provide the requested package first
        $pool = $this->getRequiredPool($packageName, $textConstraint, $onlyLocal);
        $packages = $pool->whatProvides($packageName);
        if (empty($packages)) {
            // sprintf('Could not find package "%s" in your project', $packageName),
            return null;
        }
        // Get the needle stack
        $needles = $this->getNeedles($packageName, $packages, $this->inverted);
        // Parse constraint if one was supplied
        $constraint = null;
        if ($textConstraint !== '*') {
            $versionParser = new VersionParser();
            $constraint = $versionParser->parseConstraints($textConstraint);
        }
        $extra = $constraint !== null ? sprintf(' in versions %s "%s"', $this->inverted ? 'not matching' : 'matching', $textConstraint) : '';
        // Resolve dependencies
        /** @var InstalledFilesystemRepository $repository */
        $repository = $this->getComposer()->getRepositoryManager()->getLocalRepository();
        $results = $repository->getDependents($needles, $constraint, $this->inverted, $this->recursive);
        if (empty($results)) {
            // sprintf('There is no installed package depending on "%s"%s', $packageName, $extra),
            return null;
        }
        // sprintf('The following packages are involved in the dependency on "%s"%s', $packageName, $extra),
        return $this->getDependencies($results);
    }