Failed Conditions
Pull Request — master (#40)
by Viktor
09:39
created

src/Kernels/KernelsServiceProvider.php (1 issue)

Labels
Severity
1
<?php
2
/**
3
 * @package   WPEmerge
4
 * @author    Atanas Angelov <[email protected]>
5
 * @copyright 2017-2019 Atanas Angelov
6
 * @license   https://www.gnu.org/licenses/gpl-2.0.html GPL-2.0
7
 * @link      https://wpemerge.com/
8
 */
9
10
namespace WPEmerge\Kernels;
11
12
use WPEmerge\ServiceProviders\ExtendsConfigTrait;
13
use WPEmerge\ServiceProviders\ServiceProviderInterface;
14
15
/**
16
 * Provide old input dependencies.
17
 *
18
 * @codeCoverageIgnore
19
 */
20
class KernelsServiceProvider implements ServiceProviderInterface {
21
	use ExtendsConfigTrait;
22
23
	/**
24
	 * {@inheritDoc}
25
	 */
26
	public function register( $container ) {
27
		$this->extendConfig( $container, 'middleware', [
28
			'flash' => \WPEmerge\Flash\FlashMiddleware::class,
29
			'old_input' => \WPEmerge\Input\OldInputMiddleware::class,
30
			'csrf' => \WPEmerge\Csrf\CsrfMiddleware::class,
31
			'user.logged_in' => \WPEmerge\Middleware\UserLoggedInMiddleware::class,
32
			'user.logged_out' => \WPEmerge\Middleware\UserLoggedOutMiddleware::class,
33
			'user.can' => \WPEmerge\Middleware\UserCanMiddleware::class,
34
		] );
35
36
		$this->extendConfig( $container, 'middleware_groups', [
37
			'wpemerge' => [
38
				'flash',
39
				'old_input',
40
			],
41
			'global' => [],
42
			'web' => [],
43
			'ajax' => [],
44
			'admin' => [],
45
		] );
46
47
		$this->extendConfig( $container, 'middleware_priority', [] );
48
49
		$container[ WPEMERGE_WORDPRESS_HTTP_KERNEL_KEY ] = function ( $c ) {
50
			$kernel = new HttpKernel(
51
				$c,
52
				$c[ WPEMERGE_APPLICATION_GENERIC_FACTORY_KEY ],
53
				$c[ WPEMERGE_HELPERS_HANDLER_FACTORY_KEY ],
54
				$c[ WPEMERGE_RESPONSE_SERVICE_KEY ],
55
				$c[ WPEMERGE_REQUEST_KEY ],
56
				$c[ WPEMERGE_ROUTING_ROUTER_KEY ],
57
				$c[ WPEMERGE_VIEW_SERVICE_KEY ],
58
				$c[ WPEMERGE_EXCEPTIONS_ERROR_HANDLER_KEY ]
59
			);
60
61
			$kernel->setMiddleware( $c[ WPEMERGE_CONFIG_KEY ]['middleware'] );
62
			$kernel->setMiddlewareGroups( $c[ WPEMERGE_CONFIG_KEY ]['middleware_groups'] );
63
			$kernel->setMiddlewarePriority( $c[ WPEMERGE_CONFIG_KEY ]['middleware_priority'] );
64
65
			return $kernel;
66
		};
67
68
		$app = $container[ WPEMERGE_APPLICATION_KEY ];
69
70
		$app->alias( 'run', function () use ( $app ) {
71
			$kernel = $app->resolve( WPEMERGE_WORDPRESS_HTTP_KERNEL_KEY );
72
			return call_user_func_array( [$kernel, 'run'], func_get_args() );
0 ignored issues
show
The function call_user_func_array was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

72
			return /** @scrutinizer ignore-call */ call_user_func_array( [$kernel, 'run'], func_get_args() );
Loading history...
73
		} );
74
	}
75
76
	/**
77
	 * {@inheritDoc}
78
	 */
79
	public function bootstrap( $container ) {
80
		// Nothing to bootstrap.
81
	}
82
}
83