HomeController   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 32
ccs 18
cts 18
cp 1
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A indexActionGet() 0 23 1
1
<?php
2
3
namespace Seb\Home;
4
5
use Anax\Commons\ContainerInjectableInterface;
6
use Anax\Commons\ContainerInjectableTrait;
7
use Seb\Questions\Questions;
8
use Seb\User\User;
9
use Seb\Tags\Tags;
10
use Seb\Home\HomeModel;
11
12
/**
13
 * A sample controller to show how a controller class can be implemented.
14
 */
15
class HomeController implements ContainerInjectableInterface
16
{
17
    use ContainerInjectableTrait;
18
19
    /**
20
     * Show all items.
21
     *
22
     * @return object as a response object
23
     */
24 1
    public function indexActionGet() : object
25
    {
26 1
        $page = $this->di->get("page");
27 1
        $tags = new Tags();
28 1
        $tags->setDb($this->di->get("dbqb"));
29 1
        $questions = new Questions();
30 1
        $questions->setDb($this->di->get("dbqb"));
31 1
        $users = new User();
32 1
        $users->setDb($this->di->get("dbqb"));
33
34 1
        $homeModel = new HomeModel();
35 1
        $recentTopics = $homeModel->recentTopics($questions->findAll());
36 1
        $topUsers = $homeModel->topUsers($users->findAll());
37 1
        $topTags = $homeModel->topTags($tags->findAll(), $questions->findAll());
38
39 1
        $page->add("home/home", [
40 1
            "tags" => $topTags,
41 1
            "questions" => $recentTopics,
42 1
            "users" => $topUsers
43
        ]);
44
45 1
        return $page->render([
46 1
            "title" => "Home",
47
        ]);
48
    }
49
}
50