# code-snippets/3.0.0/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php

Code Snippets, version 3.0.0. 36 lines.

- Page: https://pluginprobe.com/plugins/code-snippets/3.0.0/code/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php
- Raw: https://pluginprobe.com/plugins/code-snippets/3.0.0/raw/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php
- Modified: 2022-05-13T18:03:36+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/code-snippets/3.0.0/code/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php#L10-L20`.

```php
<?php
namespace Composer\Installers;

/**
 * Installer for Craft Plugins
 */
class CraftInstaller extends BaseInstaller
{
    const NAME_PREFIX = 'craft';
    const NAME_SUFFIX = 'plugin';

    protected $locations = array(
        'plugin' => 'craft/plugins/{$name}/',
    );

    /**
     * Strip `craft-` prefix and/or `-plugin` suffix from package names
     *
     * @param  array $vars
     *
     * @return array
     */
    final public function inflectPackageVars($vars)
    {
        return $this->inflectPluginVars($vars);
    }

    private function inflectPluginVars($vars)
    {
        $vars['name'] = preg_replace('/-' . self::NAME_SUFFIX . '$/i', '', $vars['name']);
        $vars['name'] = preg_replace('/^' . self::NAME_PREFIX . '-/i', '', $vars['name']);

        return $vars;
    }
}

```
