File tree Expand file tree Collapse file tree 6 files changed +60
-20
lines changed
Expand file tree Collapse file tree 6 files changed +60
-20
lines changed Original file line number Diff line number Diff line change 1212 "php" : " ^5.5 || ^7.0" ,
1313 "maximebf/debugbar" : " ^1.10" ,
1414 "psr/http-message" : " ^1.0" ,
15+ "container-interop/container-interop" : " ^1.0" ,
1516 "zendframework/zend-diactoros" : " ^1.1.3"
1617 },
1718 "require-dev" : {
Original file line number Diff line number Diff line change 77 'base_url ' => '/phpdebugbar ' ,
88 ],
99 'collectors ' => [],
10- 'storage ' => '' ,
10+ 'storage ' => null ,
1111 ],
1212 ],
1313];
Original file line number Diff line number Diff line change @@ -12,9 +12,10 @@ public static function getConfig()
1212
1313 public function __invoke ()
1414 {
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 ;
1920 }
2021}
Original file line number Diff line number Diff line change 22
33namespace PhpMiddleware \PhpDebugBar ;
44
5+ use DebugBar \DebugBar ;
56use DebugBar \JavascriptRenderer ;
7+ use Interop \Container \ContainerInterface ;
68
79final class JavascriptRendererFactory
810{
9- public function __invoke ()
11+ public function __invoke (ContainerInterface $ container = null )
1012 {
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+ }
1319
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 );
1533
1634 return $ renderer ;
1735 }
Original file line number Diff line number Diff line change 22
33namespace PhpMiddleware \PhpDebugBar ;
44
5- /**
6- * Default, simple factory for middleware
7- *
8- * @author Witold Wasiczko <witold@wasiczko.pl>
9- */
5+ use DebugBar \JavascriptRenderer ;
6+ use Interop \Container \ContainerInterface ;
7+
108final class PhpDebugBarMiddlewareFactory
119{
12- public function __invoke ()
10+ public function __invoke (ContainerInterface $ container = null )
1311 {
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+ }
1718 return new PhpDebugBarMiddleware ($ renderer );
1819 }
1920}
Original file line number Diff line number Diff line change 33namespace PhpMiddleware \PhpDebugBar ;
44
55use DebugBar \StandardDebugBar ;
6+ use Interop \Container \ContainerInterface ;
67
78final class StandardDebugBarFactory
89{
9- public function __invoke ()
10+ public function __invoke (ContainerInterface $ container = null )
1011 {
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 ;
1231 }
1332}
You can’t perform that action at this time.
0 commit comments