Builder
last analyzed

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
dl 0
loc 52
ccs 0
cts 0
cp 0
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
get() 0 1 ?
getCallbacks() 0 1 ?
call() 0 1 ?
parent() 0 1 ?
push() 0 1 ?
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Arcanedev\Breadcrumbs\Contracts;
6
7
use Illuminate\Contracts\Support\Arrayable;
8
9
/**
10
 * Interface  Builder
11
 *
12
 * @author    ARCANEDEV <[email protected]>
13
 */
14
interface Builder extends Arrayable
15
{
16
    /* -----------------------------------------------------------------
17
     |  Getters and Setters
18
     | -----------------------------------------------------------------
19
     */
20
21
    /**
22
     * Get breadcrumbs collection.
23
     *
24
     * @return \Arcanedev\Breadcrumbs\Entities\BreadcrumbCollection
25
     */
26
    public function get();
27
28
    /**
29
     * Get breadcrumbs callbacks.
30
     *
31
     * @return array
32
     */
33
    public function getCallbacks();
34
35
    /* -----------------------------------------------------------------
36
     |  Main Methods
37
     | -----------------------------------------------------------------
38
     */
39
40
    /**
41
     * Call breadcrumb.
42
     *
43
     * @param  string  $name
44
     * @param  array   $params
45
     *
46
     * @return self
47
     */
48
    public function call($name, array $params = []);
49
50
    /**
51
     * Call parent breadcrumb.
52
     *
53
     * @param  string  $name
54
     */
55
    public function parent($name);
56
57
    /**
58
     * Push a breadcrumb.
59
     *
60
     * @param  string       $title
61
     * @param  string|null  $url
62
     * @param  array        $data
63
     */
64
    public function push($title, $url = null, array $data = []);
65
}
66