1 | <?php |
||
29 | class RouteEnhancer implements RouteEnhancerInterface |
||
30 | { |
||
31 | const ARTICLE_META = '_article_meta'; |
||
32 | |||
33 | const ROUTE_META = '_route_meta'; |
||
34 | |||
35 | /** |
||
36 | * @var TemplateNameResolverInterface |
||
37 | */ |
||
38 | protected $templateNameResolver; |
||
39 | |||
40 | /** |
||
41 | * @var LoaderInterface |
||
42 | */ |
||
43 | protected $metaLoader; |
||
44 | |||
45 | /** |
||
46 | * @var Context |
||
47 | */ |
||
48 | protected $context; |
||
49 | |||
50 | /** |
||
51 | * @var array |
||
52 | */ |
||
53 | private $enhancedRoutesDefaults = []; |
||
54 | 109 | ||
55 | /** |
||
56 | * @param TemplateNameResolverInterface $templateNameResolver |
||
57 | * @param LoaderInterface $metaLoader |
||
58 | * @param Context $context |
||
59 | 109 | */ |
|
60 | 109 | public function __construct(TemplateNameResolverInterface $templateNameResolver, LoaderInterface $metaLoader, Context $context) |
|
66 | |||
67 | /** |
||
68 | * Adjust route defaults and request attributes to our needs. |
||
69 | * |
||
70 | * @param array $defaults |
||
71 | * @param Request $request |
||
72 | 14 | * |
|
73 | * @return array |
||
74 | 14 | */ |
|
75 | 14 | public function enhance(array $defaults, Request $request) |
|
93 | 14 | ||
94 | /** |
||
95 | 14 | * Get article based on available parameters, set route type. |
|
96 | 14 | * |
|
97 | 7 | * @param mixed $content |
|
98 | 7 | * @param array $defaults |
|
99 | 7 | * |
|
100 | 7 | * @throws NotFoundHttpException |
|
101 | * |
||
102 | * @return array |
||
103 | */ |
||
104 | public function setArticleMeta($content, array $defaults) |
||
128 | |||
129 | 12 | /** |
|
130 | 12 | * Resolve template name based on available data. |
|
131 | 5 | * |
|
132 | 7 | * @param mixed $content |
|
133 | 7 | * @param array $defaults |
|
134 | * |
||
135 | * @return array |
||
136 | 10 | */ |
|
137 | public function setTemplateName($content, array $defaults) |
||
148 | 10 | ||
149 | 10 | /** |
|
150 | * @param array $defaults |
||
151 | 10 | * |
|
152 | 10 | * @return array |
|
153 | */ |
||
154 | public function setRouteMeta(array $defaults) |
||
165 | 14 | ||
166 | 5 | /** |
|
167 | * @param array $defaults |
||
168 | * |
||
169 | 14 | * @return ArticleInterface|bool |
|
170 | */ |
||
171 | private function getContentFromDefaults($defaults) |
||
179 | } |
||
180 |