-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
BaseBoot.php
116 lines (95 loc) · 2.37 KB
/
BaseBoot.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
declare(strict_types=1);
namespace Drush\Boot;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerAwareTrait;
abstract class BaseBoot implements Boot, LoggerAwareInterface
{
use LoggerAwareTrait;
protected string|bool $uri = false;
protected int $phase = DrupalBootLevels::NONE;
public function __construct()
{
register_shutdown_function([$this, 'terminate']);
}
public function findUri($root, $uri): string
{
return 'default';
}
public function getUri(): string
{
return $this->uri;
}
public function setUri($uri): void
{
$this->uri = $uri;
}
public function getPhase(): int
{
return $this->phase;
}
public function setPhase(int $phase): void
{
$this->phase = $phase;
}
public function validRoot(?string $path): bool
{
return false;
}
public function getVersion(string $root)
{
return null;
}
public function commandDefaults()
{
}
public function reportCommandError($command)
{
// No longer used.
}
public function bootstrapPhaseMap(): array
{
return [
'none' => DrupalBootLevels::NONE,
'drush' => DrupalBootLevels::NONE,
'max' => DrupalBootLevels::MAX,
'root' => DrupalBootLevels::ROOT,
'site' => DrupalBootLevels::SITE,
'configuration' => DrupalBootLevels::CONFIGURATION,
'database' => DrupalBootLevels::DATABASE,
'full' => DrupalBootLevels::FULL
];
}
public function lookUpPhaseIndex($phase): ?int
{
if (is_numeric($phase)) {
return (int) $phase;
}
$phaseMap = $this->bootstrapPhaseMap();
if (isset($phaseMap[$phase])) {
return $phaseMap[$phase];
}
if ((!str_starts_with($phase, 'DRUSH_BOOTSTRAP_')) || (!defined($phase))) {
return null;
}
return constant($phase);
}
public function bootstrapDrush()
{
}
protected function hasRegisteredSymfonyCommand($application, $name): bool
{
try {
$application->get($name);
return true;
} catch (\InvalidArgumentException $e) {
return false;
}
}
/**
* {@inheritdoc}
*/
public function terminate()
{
}
}