class ShopwareInstaller
Plugin/theme installer for shopware @author Benjamin Boit
Hierarchy
- class \Composer\Installers\BaseInstaller
- class \Composer\Installers\ShopwareInstaller extends \Composer\Installers\BaseInstaller
Expanded class hierarchy of ShopwareInstaller
File
-
vendor/
composer/ installers/ src/ Composer/ Installers/ ShopwareInstaller.php, line 9
Namespace
Composer\InstallersView source
class ShopwareInstaller extends BaseInstaller {
/** @var array<string, string> */
protected $locations = array(
'backend-plugin' => 'engine/Shopware/Plugins/Local/Backend/{$name}/',
'core-plugin' => 'engine/Shopware/Plugins/Local/Core/{$name}/',
'frontend-plugin' => 'engine/Shopware/Plugins/Local/Frontend/{$name}/',
'theme' => 'templates/{$name}/',
'plugin' => 'custom/plugins/{$name}/',
'frontend-theme' => 'themes/Frontend/{$name}/',
);
/**
* Transforms the names
*/
public function inflectPackageVars(array $vars) : array {
if ($vars['type'] === 'shopware-theme') {
return $this->correctThemeName($vars);
}
return $this->correctPluginName($vars);
}
/**
* Changes the name to a camelcased combination of vendor and name
*
* @param array<string, string> $vars
* @return array<string, string>
*/
private function correctPluginName(array $vars) : array {
$camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
return strtoupper($matches[0][1]);
}, $vars['name']);
if (null === $camelCasedName) {
throw new \RuntimeException('Failed to run preg_replace_callback: ' . preg_last_error());
}
$vars['name'] = ucfirst($vars['vendor']) . ucfirst($camelCasedName);
return $vars;
}
/**
* Changes the name to a underscore separated name
*
* @param array<string, string> $vars
* @return array<string, string>
*/
private function correctThemeName(array $vars) : array {
$vars['name'] = str_replace('-', '_', $vars['name']);
return $vars;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
BaseInstaller::$composer | protected | property | @var Composer | ||
BaseInstaller::$io | protected | property | @var IOInterface | ||
BaseInstaller::$package | protected | property | @var PackageInterface | ||
BaseInstaller::getInstallPath | public | function | Return the install path based on package type. | 2 | |
BaseInstaller::getLocations | public | function | Gets the installer's locations | 2 | |
BaseInstaller::mapCustomInstallPaths | protected | function | Search through a passed paths array for a custom install path. | ||
BaseInstaller::pregReplace | protected | function | |||
BaseInstaller::templatePath | protected | function | Replace vars in a path | 1 | |
BaseInstaller::__construct | public | function | Initializes base installer. | ||
ShopwareInstaller::$locations | protected | property | @var array<string, string> | Overrides BaseInstaller::$locations | |
ShopwareInstaller::correctPluginName | private | function | Changes the name to a camelcased combination of vendor and name | ||
ShopwareInstaller::correctThemeName | private | function | Changes the name to a underscore separated name | ||
ShopwareInstaller::inflectPackageVars | public | function | Transforms the names | Overrides BaseInstaller::inflectPackageVars |