File tree 6 files changed +60
-20
lines changed
6 files changed +60
-20
lines changed Original file line number Diff line number Diff line change 12
12
"php" : " ^5.5 || ^7.0" ,
13
13
"maximebf/debugbar" : " ^1.10" ,
14
14
"psr/http-message" : " ^1.0" ,
15
+ "container-interop/container-interop" : " ^1.0" ,
15
16
"zendframework/zend-diactoros" : " ^1.1.3"
16
17
},
17
18
"require-dev" : {
Original file line number Diff line number Diff line change 7
7
'base_url ' => '/phpdebugbar ' ,
8
8
],
9
9
'collectors ' => [],
10
- 'storage ' => '' ,
10
+ 'storage ' => null ,
11
11
],
12
12
],
13
13
];
Original file line number Diff line number Diff line change @@ -12,9 +12,10 @@ public static function getConfig()
12
12
13
13
public function __invoke ()
14
14
{
15
- return [
16
- 'dependencies ' => include __DIR__ . '/../config/dependency.config.php ' ,
17
- 'middleware_pipeline ' => include __DIR__ . '/../config/zend-expressive.middleware_pipeline.config.php ' ,
18
- ];
15
+ $ config = include __DIR__ . '/../config/phpdebugbar.config.php ' ;
16
+ $ config ['dependencies ' ] = include __DIR__ . '/../config/dependency.config.php ' ;
17
+ $ config ['middleware_pipeline ' ] = include __DIR__ . '/../config/zend-expressive.middleware_pipeline.config.php ' ;
18
+
19
+ return $ config ;
19
20
}
20
21
}
Original file line number Diff line number Diff line change 2
2
3
3
namespace PhpMiddleware \PhpDebugBar ;
4
4
5
+ use DebugBar \DebugBar ;
5
6
use DebugBar \JavascriptRenderer ;
7
+ use Interop \Container \ContainerInterface ;
6
8
7
9
final class JavascriptRendererFactory
8
10
{
9
- public function __invoke ()
11
+ public function __invoke (ContainerInterface $ container = null )
10
12
{
11
- $ standardDebugBarFactory = new StandardDebugBarFactory ();
12
- $ debugbar = $ standardDebugBarFactory ();
13
+ if ($ container === null || !$ container ->has (DebugBar::class)) {
14
+ $ standardDebugBarFactory = new StandardDebugBarFactory ();
15
+ $ debugbar = $ standardDebugBarFactory ($ container );
16
+ } else {
17
+ $ debugbar = $ container ->get (DebugBar::class);
18
+ }
13
19
14
- $ renderer = new JavascriptRenderer ($ debugbar , '/phpdebugbar ' );
20
+ $ renderer = new JavascriptRenderer ($ debugbar );
21
+
22
+ $ config = $ container !== null && $ container ->has ('config ' ) ? $ container ->get ('config ' ) : [];
23
+
24
+ if (isset ($ config ['phpmiddleware ' ]['phpdebugbar ' ]['javascript_renderer ' ])) {
25
+ $ rendererOptions = $ config ['phpmiddleware ' ]['phpdebugbar ' ]['javascript_renderer ' ];
26
+ } else {
27
+ $ rendererOptions = [
28
+ 'base_url ' => '/phpdebugbar ' ,
29
+ ];
30
+ }
31
+
32
+ $ renderer ->setOptions ($ rendererOptions );
15
33
16
34
return $ renderer ;
17
35
}
Original file line number Diff line number Diff line change 2
2
3
3
namespace PhpMiddleware \PhpDebugBar ;
4
4
5
- /**
6
- * Default, simple factory for middleware
7
- *
8
- * @author Witold Wasiczko <[email protected] >
9
- */
5
+ use DebugBar \JavascriptRenderer ;
6
+ use Interop \Container \ContainerInterface ;
7
+
10
8
final class PhpDebugBarMiddlewareFactory
11
9
{
12
- public function __invoke ()
10
+ public function __invoke (ContainerInterface $ container = null )
13
11
{
14
- $ rendererFactory = new JavascriptRendererFactory ();
15
- $ renderer = $ rendererFactory ();
16
-
12
+ if ($ container === null || !$ container ->has (JavascriptRenderer::class)) {
13
+ $ rendererFactory = new JavascriptRendererFactory ();
14
+ $ renderer = $ rendererFactory ($ container );
15
+ } else {
16
+ $ renderer = $ container ->get (JavascriptRenderer::class);
17
+ }
17
18
return new PhpDebugBarMiddleware ($ renderer );
18
19
}
19
20
}
Original file line number Diff line number Diff line change 3
3
namespace PhpMiddleware \PhpDebugBar ;
4
4
5
5
use DebugBar \StandardDebugBar ;
6
+ use Interop \Container \ContainerInterface ;
6
7
7
8
final class StandardDebugBarFactory
8
9
{
9
- public function __invoke ()
10
+ public function __invoke (ContainerInterface $ container = null )
10
11
{
11
- return new StandardDebugBar ();
12
+ $ debugBar = new StandardDebugBar ();
13
+
14
+ if ($ container !== null ) {
15
+ $ config = $ container ->has ('config ' ) ? $ container ->get ('config ' ) : [];
16
+
17
+ $ collectors = isset ($ config ['phpmiddleware ' ]['phpdebugbar ' ]['collectors ' ]) ? $ config ['phpmiddleware ' ]['phpdebugbar ' ]['collectors ' ] : [];
18
+
19
+ foreach ($ collectors as $ collectorName ) {
20
+ $ collector = $ container ->get ($ collectorName );
21
+ $ debugBar ->addCollector ($ collector );
22
+ }
23
+
24
+ if (isset ($ config ['phpmiddleware ' ]['phpdebugbar ' ]['storage ' ]) && is_string ($ config ['phpmiddleware ' ]['phpdebugbar ' ]['storage ' ])) {
25
+ $ storage = $ container ->get ($ config ['phpmiddleware ' ]['phpdebugbar ' ]['storage ' ]);
26
+ $ debugBar ->setStorage ($ config ['phpmiddleware ' ]['phpdebugbar ' ]['storage ' ]);
27
+ }
28
+ }
29
+
30
+ return $ debugBar ;
12
31
}
13
32
}
You can’t perform that action at this time.
0 commit comments