blob: 57e327231dcdc09b27013a4b9745901c7000d567 [file] [log] [blame]
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +02001<?php
2
3namespace Illuminate\Contracts\Routing;
4
5interface Registrar
6{
7 /**
8 * Register a new GET route with the router.
9 *
10 * @param string $uri
11 * @param array|string|callable $action
12 * @return \Illuminate\Routing\Route
13 */
14 public function get($uri, $action);
15
16 /**
17 * Register a new POST route with the router.
18 *
19 * @param string $uri
20 * @param array|string|callable $action
21 * @return \Illuminate\Routing\Route
22 */
23 public function post($uri, $action);
24
25 /**
26 * Register a new PUT route with the router.
27 *
28 * @param string $uri
29 * @param array|string|callable $action
30 * @return \Illuminate\Routing\Route
31 */
32 public function put($uri, $action);
33
34 /**
35 * Register a new DELETE route with the router.
36 *
37 * @param string $uri
38 * @param array|string|callable $action
39 * @return \Illuminate\Routing\Route
40 */
41 public function delete($uri, $action);
42
43 /**
44 * Register a new PATCH route with the router.
45 *
46 * @param string $uri
47 * @param array|string|callable $action
48 * @return \Illuminate\Routing\Route
49 */
50 public function patch($uri, $action);
51
52 /**
53 * Register a new OPTIONS route with the router.
54 *
55 * @param string $uri
56 * @param array|string|callable $action
57 * @return \Illuminate\Routing\Route
58 */
59 public function options($uri, $action);
60
61 /**
62 * Register a new route with the given verbs.
63 *
64 * @param array|string $methods
65 * @param string $uri
66 * @param array|string|callable $action
67 * @return \Illuminate\Routing\Route
68 */
69 public function match($methods, $uri, $action);
70
71 /**
72 * Route a resource to a controller.
73 *
74 * @param string $name
75 * @param string $controller
76 * @param array $options
77 * @return \Illuminate\Routing\PendingResourceRegistration
78 */
79 public function resource($name, $controller, array $options = []);
80
81 /**
82 * Create a route group with shared attributes.
83 *
84 * @param array $attributes
85 * @param \Closure|string $routes
86 * @return void
87 */
88 public function group(array $attributes, $routes);
89
90 /**
91 * Substitute the route bindings onto the route.
92 *
93 * @param \Illuminate\Routing\Route $route
94 * @return \Illuminate\Routing\Route
95 */
96 public function substituteBindings($route);
97
98 /**
99 * Substitute the implicit Eloquent model bindings for the route.
100 *
101 * @param \Illuminate\Routing\Route $route
102 * @return void
103 */
104 public function substituteImplicitBindings($route);
105}