Passed
Push — master ( 641df3...c95e72 )
by Caen
03:59 queued 15s
created

ManagesViewData::currentRoute()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Hyde\Foundation\Concerns;
6
7
use Hyde\Pages\Concerns\HydePage;
8
use Hyde\Support\Facades\Render;
9
use Hyde\Support\Models\Route;
10
11
/**
12
 * @internal Single-use trait for the HydeKernel class.
13
 *
14
 * @see \Hyde\Foundation\HydeKernel
15
 */
16
trait ManagesViewData
17
{
18
    /**
19
     * Share data for the page being rendered.
20
     */
21
    public function shareViewData(HydePage $page): void
22
    {
23
        Render::setPage($page);
24
    }
25
26
    /**
27
     * Get the route key for the page being rendered.
28
     */
29
    public function currentRouteKey(): ?string
30
    {
31
        return Render::getRouteKey();
32
    }
33
34
    /**
35
     * Get the route for the page being rendered.
36
     */
37
    public function currentRoute(): ?Route
38
    {
39
        return Render::getRoute();
40
    }
41
42
    /**
43
     * Get the page being rendered.
44
     */
45
    public function currentPage(): ?HydePage
46
    {
47
        return Render::getPage();
48
    }
49
}
50