Skip to content

Commit 16327db

Browse files
Esolitos Marlongreg-1-anderson
authored andcommitted
Allow implementing SiteAliasManagerAwareInterface. (#3950)
* Use siteAliasManager instead of setOutputAdapter. When an object implements `SiteAliasManagerAwareInterface` it should be injected via `siteAliasManager` instead of `setOutputAdapter` which is part of `VerbosityThresholdInterface` * Fix typo on setSiteAliasManager * Fix docs regarding SiteAliasManagerAwareInterface injection
1 parent db02bfb commit 16327db

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

docs/dependency-injection.md

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,25 @@ For example:
4949
namespace Drupal\my_module\Commands;
5050
5151
use Drush\Commands\DrushCommands;
52+
use Consolidation\OutputFormatters\StructuredData\ListDataFromKeys;
5253
use Consolidation\SiteAlias\SiteAliasManagerAwareInterface;
53-
use Consolidation\SiteAlias\SiteSliasManagerAwareTrait;
54+
use Consolidation\SiteAlias\SiteAliasManagerAwareTrait;
5455
55-
class MyModuleiCommands extends DrushCommands implements SiteAliasManagerAwareInterface
56+
class MyModuleCommands extends DrushCommands implements SiteAliasManagerAwareInterface
5657
{
5758
use SiteAliasManagerAwareTrait;
58-
public function commandName($)
59-
{
60-
$selfAlias = $this->aliasManager()->getSelf();
61-
$this->logger()->success(‘The current alias is {name}’, [‘name’ => $selfAlias]);
62-
}
59+
/**
60+
* Prints the currenbt alias name and info.
61+
*
62+
* @command mymodule:myAlias
63+
* @return \Consolidation\OutputFormatters\StructuredData\ListDataFromKeys
64+
*/
65+
public function myAlias()
66+
{
67+
$selfAlias = $this->siteAliasManager()->getSelf();
68+
$this->logger()->success(‘The current alias is {name}’, [‘name’ => $selfAlias]);
69+
return new ListDataFromKeys($aliasRecord->export());
70+
}
6371
}
6472
```
6573
All Drush command files extend DrushCommands. DrushCommands implements ConfigAwareInterface, IOAwareInterface, LoggerAwareInterface, which gives access to `$this->getConfig()`, `$this->logger()` and other ways to do input and output. See the [IO documentation](io.md) for more information.

src/Boot/BaseBoot.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ protected function inflect($object)
143143
$object->setOutputAdapter($container->get('outputAdapter'));
144144
}
145145
if ($object instanceof \Consolidation\SiteAlias\SiteAliasManagerAwareInterface) {
146-
$object->setOutputAdapter($container->get('site.alias.manager'));
146+
$object->setSiteAliasManager($container->get('site.alias.manager'));
147147
}
148148
}
149149

0 commit comments

Comments
 (0)