WebsiteBuilder   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 25
c 1
b 0
f 0
dl 0
loc 46
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A build() 0 28 1
A __construct() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace AbterPhp\Website\Http\Views\Builders;
6
7
use AbterPhp\Framework\Constant\View;
8
use AbterPhp\Website\Constant\Event;
9
use AbterPhp\Website\Events\WebsiteReady;
10
use Opulence\Events\Dispatchers\IEventDispatcher;
11
use Opulence\Views\Factories\IViewBuilder;
12
use Opulence\Views\IView;
13
14
/**
15
 * Defines the master view builder
16
 */
17
class WebsiteBuilder implements IViewBuilder
18
{
19
    /** @var IEventDispatcher */
20
    protected $eventDispatcher;
21
22
    /**
23
     * WebsiteBuilder constructor.
24
     *
25
     * @param IEventDispatcher $eventDispatcher
26
     */
27
    public function __construct(IEventDispatcher $eventDispatcher)
28
    {
29
        $this->eventDispatcher = $eventDispatcher;
30
    }
31
32
    /**
33
     * @inheritdoc
34
     */
35
    public function build(IView $view): IView
36
    {
37
        $view->setVar('title', '');
38
        $view->setVar('metaKeywords', []);
39
        $view->setVar('metaDescription', '');
40
        $view->setVar('authorName', '');
41
        $view->setVar('metaCopyright', '');
42
        $view->setVar('metaRobots', '');
43
        $view->setVar('metaOGImage', '');
44
        $view->setVar('metaOGDescription', '');
45
        $view->setVar('metaOGTitle', '');
46
        $view->setVar('siteTitle', '');
47
        $view->setVar('homepageUrl', '');
48
        $view->setVar('pageUrl', '');
49
        $view->setVar('layout', '');
50
        $view->setVar('page', '');
51
52
        $view->setVar(View::PRE_HEADER, '');
53
        $view->setVar(View::HEADER, '');
54
        $view->setVar(View::POST_HEADER, '');
55
56
        $view->setVar(View::PRE_FOOTER, '');
57
        $view->setVar(View::FOOTER, '');
58
        $view->setVar(View::POST_FOOTER, '');
59
60
        $this->eventDispatcher->dispatch(Event::WEBSITE_READY, new WebsiteReady($view));
61
62
        return $view;
63
    }
64
}
65