AbstractControllerPlugin   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 60
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 60
ccs 8
cts 8
cp 1
rs 10
c 0
b 0
f 0
wmc 4
lcom 0
cbo 1

4 Methods

Rating   Name   Duplication   Size   Complexity  
A beforeControllerSelected() 0 5 1
A afterControllerSelected() 0 7 1
A beforeActionInvoked() 0 7 1
A afterActionInvoked() 0 8 1
1
<?php
2
3
namespace Vectorface\SnappyRouter\Plugin;
4
5
use Vectorface\SnappyRouter\Controller\AbstractController;
6
use Vectorface\SnappyRouter\Handler\AbstractHandler;
7
use Vectorface\SnappyRouter\Request\HttpRequest;
8
9
/**
10
 * The base class for all controller-based plugins.
11
 * @copyright Copyright (c) 2014, VectorFace, Inc.
12
 * @author Dan Bruce <[email protected]>
13
 */
14
abstract class AbstractControllerPlugin extends AbstractPlugin implements ControllerPluginInterface
15
{
16
    /**
17
     * Invoked before the handler decides which controller will be used.
18
     * @param AbstractHandler $handler The handler selected by the router.
19
     * @param HttpRequest $request The request to be handled.
20
     */
21 2
    public function beforeControllerSelected(
22
        AbstractHandler $handler,
23
        HttpRequest $request
24
    ) {
25 2
    }
26
27
    /**
28
     * Invoked after the router has decided which controller will be used.
29
     * @param AbstractHandler $handler The handler selected by the router.
30
     * @param HttpRequest $request The request to be handled.
31
     * @param AbstractController $controller The controller determined to be used.
32
     * @param string $action The name of the action that will be invoked.
33
     */
34 2
    public function afterControllerSelected(
35
        AbstractHandler $handler,
36
        HttpRequest $request,
37
        AbstractController $controller,
38
        $action
39
    ) {
40 2
    }
41
42
    /**
43
     * Invoked before the handler invokes the selected action.
44
     * @param AbstractHandler $handler The handler selected by the router.
45
     * @param HttpRequest $request The request to be handled.
46
     * @param AbstractController $controller The controller determined to be used.
47
     * @param string $action The name of the action that will be invoked.
48
     */
49 2
    public function beforeActionInvoked(
50
        AbstractHandler $handler,
51
        HttpRequest $request,
52
        AbstractController $controller,
53
        $action
54
    ) {
55 2
    }
56
57
    /**
58
     * Invoked after the handler invoked the selected action.
59
     * @param AbstractHandler $handler The handler selected by the router.
60
     * @param HttpRequest $request The request to be handled.
61
     * @param AbstractController $controller The controller determined to be used.
62
     * @param string $action The name of the action that will be invoked.
63
     * @param mixed $response The response from the controller action.
64
     */
65 1
    public function afterActionInvoked(
66
        AbstractHandler $handler,
67
        HttpRequest $request,
68
        AbstractController $controller,
69
        $action,
70
        $response
71
    ) {
72 1
    }
73
}
74