class MessagePlugin

Same name in other branches
  1. 9 composer/Plugin/ProjectMessage/MessagePlugin.php \Drupal\Composer\Plugin\ProjectMessage\MessagePlugin
  2. 10 composer/Plugin/ProjectMessage/MessagePlugin.php \Drupal\Composer\Plugin\ProjectMessage\MessagePlugin
  3. 11.x composer/Plugin/ProjectMessage/MessagePlugin.php \Drupal\Composer\Plugin\ProjectMessage\MessagePlugin

A Composer plugin to display a message after creating a project.

@internal

Hierarchy

  • class \Drupal\Composer\Plugin\ProjectMessage\MessagePlugin implements \Composer\Plugin\PluginInterface, \Composer\EventDispatcher\EventSubscriberInterface

Expanded class hierarchy of MessagePlugin

File

composer/Plugin/ProjectMessage/MessagePlugin.php, line 17

Namespace

Drupal\Composer\Plugin\ProjectMessage
View source
class MessagePlugin implements PluginInterface, EventSubscriberInterface {
    
    /**
     * Composer object.
     *
     * @var \Composer\Composer
     */
    protected $composer;
    
    /**
     * IO object.
     *
     * @var \Composer\IO\IOInterface
     */
    protected $io;
    
    /**
     * Configuration.
     *
     * @var \Drupal\Composer\Plugin\VendorHardening\Config
     */
    protected $config;
    
    /**
     * {@inheritdoc}
     */
    public function activate(Composer $composer, IOInterface $io) {
        $this->composer = $composer;
        $this->io = $io;
    }
    
    /**
     * {@inheritdoc}
     */
    public function deactivate(Composer $composer, IOInterface $io) {
    }
    
    /**
     * {@inheritdoc}
     */
    public function uninstall(Composer $composer, IOInterface $io) {
    }
    
    /**
     * {@inheritdoc}
     */
    public static function getSubscribedEvents() {
        return [
            ScriptEvents::POST_CREATE_PROJECT_CMD => 'displayPostCreateMessage',
            ScriptEvents::POST_INSTALL_CMD => 'displayPostCreateMessage',
        ];
    }
    public function displayPostCreateMessage(Event $event) {
        $message = new Message($this->composer
            ->getPackage(), $event->getName());
        if ($message = $message->getText()) {
            $this->io
                ->write($message);
        }
    }

}

Members

Title Sort descending Modifiers Object type Summary
MessagePlugin::$composer protected property Composer object.
MessagePlugin::$config protected property Configuration.
MessagePlugin::$io protected property IO object.
MessagePlugin::activate public function
MessagePlugin::deactivate public function
MessagePlugin::displayPostCreateMessage public function
MessagePlugin::getSubscribedEvents public static function
MessagePlugin::uninstall public function

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.