@@ 8-31 (lines=24) @@ | ||
5 | /** |
|
6 | * @Annotation |
|
7 | */ |
|
8 | class RouteRequirePermission extends RouteRequirementsBase |
|
9 | { |
|
10 | ||
11 | /** |
|
12 | * @param array $values |
|
13 | * |
|
14 | * @throws \RuntimeException |
|
15 | */ |
|
16 | public function __construct(array $values) |
|
17 | { |
|
18 | if (!isset($values['value'])) { |
|
19 | throw new \RuntimeException('Permission name must be specified.'); |
|
20 | } |
|
21 | ||
22 | $permissionName = $values['value']; |
|
23 | ||
24 | if (!is_string($permissionName)) { |
|
25 | throw new \RuntimeException('Permission name must be a string.'); |
|
26 | } |
|
27 | ||
28 | parent::__construct(['_permission' => $permissionName]); |
|
29 | } |
|
30 | ||
31 | } |
|
32 |
@@ 8-30 (lines=23) @@ | ||
5 | /** |
|
6 | * @Annotation |
|
7 | */ |
|
8 | class RouteTitle extends RouteDefaultsBase |
|
9 | { |
|
10 | ||
11 | /** |
|
12 | * @param array $values |
|
13 | * |
|
14 | * @throws \RuntimeException |
|
15 | */ |
|
16 | public function __construct(array $values) |
|
17 | { |
|
18 | if (!isset($values['value'])) { |
|
19 | throw new \RuntimeException('Permission name must be specified.'); |
|
20 | } |
|
21 | ||
22 | $title = $values['value']; |
|
23 | ||
24 | if (!is_string($title)) { |
|
25 | throw new \RuntimeException('Title must be a string.'); |
|
26 | } |
|
27 | ||
28 | parent::__construct(['_title' => $title]); |
|
29 | } |
|
30 | } |
|
31 |
@@ 8-30 (lines=23) @@ | ||
5 | /** |
|
6 | * @Annotation |
|
7 | */ |
|
8 | class RouteTitleCallback extends RouteDefaultsBase |
|
9 | { |
|
10 | ||
11 | /** |
|
12 | * @param array $values |
|
13 | * |
|
14 | * @throws \RuntimeException |
|
15 | */ |
|
16 | public function __construct(array $values) |
|
17 | { |
|
18 | if (!isset($values['value'])) { |
|
19 | throw new \RuntimeException('Title callback must be specified.'); |
|
20 | } |
|
21 | ||
22 | $titleCallback = $values['value']; |
|
23 | ||
24 | if (!is_callable($titleCallback)) { |
|
25 | throw new \RuntimeException('Title callback must be callable.'); |
|
26 | } |
|
27 | ||
28 | parent::__construct(['_title_callback' => $titleCallback]); |
|
29 | } |
|
30 | } |
|
31 |