Pagekit\Installer\Helper\Composer::uninstall PHP Method

uninstall() public method

public uninstall ( array | string $uninstall, boolean $writeConfig = true )
$uninstall array | string [name, name, ...]
$writeConfig boolean
    public function uninstall($uninstall, $writeConfig = true)
    {
        $uninstall = (array) $uninstall;
        $this->removePackages($uninstall);
        $this->composerUpdate($uninstall);
        if ($writeConfig) {
            $this->writeConfig();
        }
    }

Usage Example

Example #1
0
 /**
  * @param  array $uninstall
  * @return bool
  */
 public function uninstall($uninstall)
 {
     foreach ((array) $uninstall as $name) {
         if (!($package = App::package($name))) {
             throw new \RuntimeException(__('Unable to find "%name%".', ['%name%' => $name]));
         }
         $this->disable($package);
         $this->getScripts($package)->uninstall();
         App::config('system')->remove('packages.' . $package->get('module'));
         if ($this->composer->isInstalled($package->getName())) {
             $this->composer->uninstall($package->getName());
         } else {
             if (!($path = $package->get('path'))) {
                 throw new \RuntimeException(__('Package path is missing.'));
             }
             $this->output->writeln(__("Removing package folder."));
             App::file()->delete($path);
             @rmdir(dirname($path));
         }
     }
 }