1
2
3
4
5
6
<?php
require __DIR__ .'/../vendor/ABC/ABC.php';
$local = require __DIR__ .'/configs/local.php';
ABC::startApp($local)->run();
URL | Контроллер | Действие | GET |
http://abc-framework | MainController | actionIndex | - - - - |
http://abc-framework/docs | DocsController | actionIndex | - - - - |
http://abc-framework/docs/edit | DocsController | actionEdit | - - - - |
http://abc-framework/docs/edit/id/5 | DocsController | actionEdit | GET['id'] = 5 |
1
2
3
4
5
6
'default_route' => [
'controller' => 'Main',
'action' => 'Index'
],
1
2
3
4
5
6
'route_rules' => [
'docs/<paragraph>' => 'docs/index',
'docs/<paragraph>/<section>' => 'docs/section',
],
1
2
3
4
5
6
7
<?php
return [
'docs/<paragraph>' => 'docs/index',
'docs/<paragraph>/<section>' => 'docs/section',
];
1
2
3
4
'route_rules' => __DIR__ .'/routes.php',
URI | Правило | GET |
http://abc-framework | '/' => 'main/index' |
GET['controller'] = 'main' GET['action'] = 'index' |
http://abc-framework/docs | 'docs' => 'docs/index' |
GET['controller'] = 'docs' GET['action'] = 'index' |
http://abc-framework/docs/5 | 'docs/<id:\d+>' => 'docs/edit' |
GET['controller'] = 'docs' GET['action'] = 'edit' GET['id'] = 5 |
http://abc-framework/docs/rules | 'docs/<section>' => 'docs/index' |
GET['controller'] = 'docs' GET['action'] = 'index' GET['section'] = 'rules' |
1
2
3
4
5
6
7
8
[
'guest' => 'guest/index',
'<section>' => 'guest/read',
'guest/<section>' => 'guest/posts',
'guest/<id:\d+>' => 'guest/add',
]
URI | Описание | GET |
http://abc-framework/guest |
Сработает первое правило, так как есть жесткое совпадение. |
GET['controller'] = 'guest' GET['action'] = 'index' |
http://abc-framework/users |
Сработает второе правило, так как нет ограничений для входящего параметра |
GET['controller'] = 'guest' GET['action'] = 'read' GET['section'] = 'users' |
http://abc-framework/guest/users |
Сработает третье правило, так как есть два параметра: по первому жесткое совпадение, второй произвольный |
GET['controller'] = 'guest' GET['action'] = 'posts' GET['section'] = 'users' |
http://abc-framework/guest/5 |
Сработает третье правило, (не четвертое), так как оно удовлетворяет условию. |
GET['controller'] = 'guest' GET['action'] = 'posts' GET['section'] = 5 |
http://abc-framework/guest/5 |
Для фильтрации по числовым значениям нужно поменять местами третье и четвертое правила. |
GET['controller'] = 'guest' GET['action'] = 'add' GET['id'] = 5 |