comparison core/modules/views/src/ViewExecutableFactory.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2
3 namespace Drupal\views;
4
5 use Drupal\Core\Routing\RouteProviderInterface;
6 use Drupal\Core\Session\AccountInterface;
7 use Symfony\Component\HttpFoundation\RequestStack;
8
9 /**
10 * Defines the cache backend factory.
11 */
12 class ViewExecutableFactory {
13
14 /**
15 * Stores the current user.
16 *
17 * @var \Drupal\Core\Session\AccountInterface
18 */
19 protected $user;
20
21 /**
22 * The request stack.
23 *
24 * @var \Symfony\Component\HttpFoundation\RequestStack
25 */
26 protected $requestStack;
27
28 /**
29 * The views data.
30 *
31 * @var \Drupal\views\ViewsData
32 */
33 protected $viewsData;
34
35 /**
36 * The route provider.
37 *
38 * @var \Drupal\Core\Routing\RouteProviderInterface
39 */
40 protected $routeProvider;
41
42 /**
43 * Constructs a new ViewExecutableFactory
44 *
45 * @param \Drupal\Core\Session\AccountInterface $user
46 * The current user.
47 * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack
48 * The request stack.
49 * @param \Drupal\views\ViewsData $views_data
50 * The views data.
51 * @param \Drupal\Core\Routing\RouteProviderInterface $route_provider
52 * The route provider.
53 */
54 public function __construct(AccountInterface $user, RequestStack $request_stack, ViewsData $views_data, RouteProviderInterface $route_provider) {
55 $this->user = $user;
56 $this->requestStack = $request_stack;
57 $this->viewsData = $views_data;
58 $this->routeProvider = $route_provider;
59 }
60
61 /**
62 * Instantiates a ViewExecutable class.
63 *
64 * @param \Drupal\views\ViewEntityInterface $view
65 * A view entity instance.
66 *
67 * @return \Drupal\views\ViewExecutable
68 * A ViewExecutable instance.
69 */
70 public function get(ViewEntityInterface $view) {
71 $view = new ViewExecutable($view, $this->user, $this->viewsData, $this->routeProvider);
72 $view->setRequest($this->requestStack->getCurrentRequest());
73 return $view;
74 }
75
76 }