1
2
3
4
5
6
7
8
9
10
11
<?php
require __DIR__ .'/../vendor/ABC/ABC.php';
$local = require __DIR__ .'/configs/local.php';
$router = ABC::Router($local);
// Здесь маршрутизация
ABC::run();
1
2
3
4
5
6
7
<form method="POST">
<input type="hidden" name="_method" value="PUT">
<input type="submit" value="Go!" />
</form>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
require __DIR__ .'/../vendor/ABC/ABC.php';
$local = require __DIR__ .'/configs/local.php';
// Инициализация роутера
$router = ABC::Router($local);
// Первый роут
$router->get('/', function($request, $response, $arg) {
$response->write('<a href="/hello/World">Пуск</a>');
return $response;
});
// Второй роут
$router->get('/hello/{name}', function($request, $response, $arg) {
$name = $request->getAttribute('name');
$response->write("Hello, $name!");
return $response;
});
// Старт
ABC::run();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
require __DIR__ .'/../vendor/ABC/ABC.php';
$local = require __DIR__ .'/configs/local.php';
$router = ABC::Router($local);
// Вторым аргументом объект
$router->get('/hello/{name}', new helloWorld);
// или полное имя класса с немспейсом
$router->get('/hi/{name}', '\ABC\helloWorld');
ABC::run();
1
2
3
4
5
6
7
8
9
function helloWorld($request, $response)
{
$name = $request->getAttribute('name');
$response->write("Hello, $name!");
return $response;
}
1
2
3
4
5
6
7
8
9
10
11
12
class helloWorld
{
public function __invoke($request, $response)
{
$name = $request->getAttribute('name');
$response->write("Hello, $name!");
return $response;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class helloWorld
{
public function process($request)
{
$name = $request->getAttribute('name');
$http = ABC::newService(ABC::HTTP);
$response = $http->createResponse();
$response->write("Hello, $name!");
return $response;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
require __DIR__ .'/../vendor/ABC/ABC.php';
$local = require __DIR__ .'/configs/local.php';
$router = ABC::Router($local);
$router->get('/', 'main@index');
$router->put('/guest/{num:\d+}', 'guest@edit');
ABC::run();
1 | get() | Отрабатывает запросы с методом GET |
2 | post() | Отрабатывает запросы с методом POST |
3 | put() | Отрабатывает запросы с методом PUT |
4 | delete() | Отрабатывает запросы с методом DELETE |
5 | any() | Отрабатывает запросы с любыми выбранными методами |
6 | all() | Отрабатывает запросы с любым валидным методом |
Обработка метода GET
Если HTTP запрос пришел с методом GET, URI будет сопоставлен с маской роута
public Router::get ( $pattern, $callable ) | ||
$pattern | string | Маска роута |
$callable | callable | Callback функция |
return | $this | Объект роутера |
---|
Обработка метода POST
Если HTTP запрос пришел с методом POST, URI будет сопоставлен с маской роута
public Router::post ( $pattern, $callable ) | ||
$pattern | string | Маска роута |
$callable | callable | Callback функция |
return | $this | Объект роутера |
---|
Обработка метода PUT
Если HTTP запрос пришел с методом PUT, URI будет сопоставлен с маской роута
public Router::put ( $pattern, $callable ) | ||
$pattern | string | Маска роута |
$callable | callable | Callback функция |
return | $this | Объект роутера |
---|
Обработка метода DELETE
Если HTTP запрос пришел с методом DELETE, URI будет сопоставлен с маской роута
public Router::delete ( $pattern, $callable ) | ||
$pattern | string | Маска роута |
$callable | callable | Callback функция |
return | $this | Объект роутера |
---|
Обработка указанных методов
Если HTTP запрос пришел с методом, указанным в массиве, переданным первым аргументом, URI будет сопоставлен с маской роута
public Router::any ( $methods, $pattern, $callable ) | ||
$methods | string|array | HTTP-метод (или методы в виде массива), на которые отреагирует роут |
$pattern | string | Маска роута |
$callable | callable | Callback функция |
return | $this | Объект роутера |
---|
Обработка любых методов
URI будет сопоставлен с маской роута при любом валидном HTTP-методе
public Router::all ( $pattern, $callable ) | ||
$pattern | string | Маска роута |
$callable | callable | Callback функция |
return | $this | Объект роутера |
---|