11<?php
22
3+ /** @noinspection PhpUndefinedClassInspection */
4+ /** @noinspection PhpUndefinedNamespaceInspection */
5+
36declare (strict_types=1 );
47
58/**
1417namespace Guanguans \LaravelSoar \Outputs ;
1518
1619use Barryvdh \Debugbar \LaravelDebugbar ;
20+ use Barryvdh \Debugbar \ServiceProvider ;
1721use DebugBar \DataCollector \MessagesCollector ;
1822use Illuminate \Console \Events \CommandFinished ;
1923use Illuminate \Support \Collection ;
@@ -31,9 +35,9 @@ public function __construct(
3135 */
3236 public function shouldOutput (CommandFinished |Response $ outputter ): bool
3337 {
34- return class_exists (LaravelDebugbar::class )
35- && app ()->has (LaravelDebugbar::class )
36- // && resolve(LaravelDebugbar::class )->isEnabled()
38+ return class_exists ($ this -> laravelDebugbarClass () )
39+ && app ()->has ($ this -> laravelDebugbarClass () )
40+ // && resolve($this->laravelDebugbarClass() )->isEnabled()
3741 && $ this ->isHtmlResponse ($ outputter );
3842 }
3943
@@ -43,11 +47,13 @@ public function shouldOutput(CommandFinished|Response $outputter): bool
4347 *
4448 * @noinspection PhpPossiblePolymorphicInvocationInspection
4549 */
46- public function output (Collection $ scores , CommandFinished |Response $ outputter ): LaravelDebugbar
50+ public function output (Collection $ scores , CommandFinished |Response $ outputter ): \ Fruitcake \ LaravelDebugbar \ LaravelDebugbar | LaravelDebugbar
4751 {
48- $ debugBar = resolve (LaravelDebugbar::class);
49-
50- \assert ($ debugBar instanceof LaravelDebugbar);
52+ $ debugBar = resolve ($ this ->laravelDebugbarClass ());
53+ \assert (
54+ $ debugBar instanceof \Fruitcake \LaravelDebugbar \LaravelDebugbar
55+ || $ debugBar instanceof LaravelDebugbar
56+ );
5157
5258 if (!$ debugBar ->hasCollector ($ this ->name )) {
5359 $ debugBar ->addCollector (new MessagesCollector ($ this ->name ));
@@ -56,9 +62,31 @@ public function output(Collection $scores, CommandFinished|Response $outputter):
5662 $ scores ->each (fn (array $ score ) => $ debugBar ->getCollector ($ this ->name )->addMessage (
5763 $ this ->hydrateScore ($ score ),
5864 $ this ->label ,
59- false
65+ // false
6066 ));
6167
6268 return $ debugBar ;
6369 }
70+
71+ /**
72+ * @api
73+ *
74+ * @return class-string<\Fruitcake\LaravelDebugbar\ServiceProvider|ServiceProvider>
75+ */
76+ public static function laravelDebugbarServiceProviderClass (): string
77+ {
78+ return class_exists ($ class = \Fruitcake \LaravelDebugbar \ServiceProvider::class)
79+ ? $ class // @codeCoverageIgnore
80+ : ServiceProvider::class;
81+ }
82+
83+ /**
84+ * @return class-string<\Fruitcake\LaravelDebugbar\LaravelDebugbar|LaravelDebugbar>
85+ */
86+ private function laravelDebugbarClass (): string
87+ {
88+ return class_exists ($ class = \Fruitcake \LaravelDebugbar \LaravelDebugbar::class)
89+ ? $ class // @codeCoverageIgnore
90+ : LaravelDebugbar::class;
91+ }
6492}
0 commit comments