Skip to content

Commit 81dfc64

Browse files
committedNov 30, 2015
将 route 抽取到配置文件中
1 parent 2d32776 commit 81dfc64

File tree

3 files changed

+39
-27
lines changed

3 files changed

+39
-27
lines changed
 

‎data/config/app.php

-5
This file was deleted.

‎data/config/routes.php

+29-6
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,32 @@
33
//更多使用方法请阅读文档:
44
//http://docs.slimframework.com/#Routing-Overview
55

6-
$app->get('/', 'HomeController:index');
7-
8-
$app->group('/api', function() use ($app){
9-
$app->get('/articles', 'ArticleController:index');
10-
$app->get('/articles/:id', 'ArticleController:show');
11-
});
6+
return array(
7+
'get' => array(
8+
'/users/current.:format' => 'User:fetchByKey',
9+
'/users.:format' => 'User:index',
10+
'/roles/:id.:format' => 'Role:fetch',
11+
'/roles.:format' => 'Role:fetchAll',
12+
'/issue_statuses.:format' => 'IssueStatus:index',
13+
'/issues/:id.:format' => 'Issue:fetch',
14+
'/issues.:format' => 'Issue:fetchAll',
15+
'/projects/:id/memberships.:format' => 'ProjectMembership:fetchAll',
16+
'/projects/:id/versions.:format' => 'ProjectVersion:fetchAll',
17+
'/projects/:id/issue_categories.:format' => 'IssueCategory:fetchAllByProjectId',
18+
'/projects/:id.:format' => 'Project:fetch',
19+
'/projects.:format' => 'Project:fetchAll',
20+
'/enumerations/issue_priorities.:format' => 'Enum:issue_priorities',
21+
'/trackers.:format' => 'Tracker:index',
22+
'/queries.:format' => 'Query:index',
23+
'/' => 'Main:index',
24+
),
25+
'post' => array(
26+
27+
),
28+
'put' => array(
29+
30+
),
31+
'delete' => array(
32+
33+
)
34+
);

‎index.php

+10-16
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,14 @@
2626

2727
$slim = new \Slim\Slim();
2828

29-
$slim->get('/users/current.:format', '\\zentao\\nb\\resource\User:fetchByKey');
30-
$slim->get('/users.:format', '\\zentao\\nb\\resource\User:index');
31-
$slim->get('/roles/:id.:format', '\\zentao\\nb\\resource\Role:fetch');
32-
$slim->get('/roles.:format', '\\zentao\\nb\\resource\Role:fetchAll');
33-
$slim->get('/issue_statuses.:format', '\\zentao\\nb\\resource\IssueStatus:index');
34-
$slim->get('/issues/:id.:format', '\\zentao\\nb\\resource\Issue:fetch');
35-
$slim->get('/issues.:format', '\\zentao\\nb\\resource\Issue:fetchAll');
36-
$slim->get('/projects/:id/memberships.:format', '\\zentao\\nb\\resource\ProjectMembership:fetchAll');
37-
$slim->get('/projects/:id/versions.:format', '\\zentao\\nb\\resource\ProjectVersion:fetchAll');
38-
$slim->get('/projects/:id/issue_categories.:format', '\\zentao\\nb\\resource\IssueCategory:fetchAllByProjectId');
39-
$slim->get('/projects/:id.:format', '\\zentao\\nb\\resource\Project:fetch');
40-
$slim->get('/projects.:format', '\\zentao\\nb\\resource\Project:fetchAll');
41-
$slim->get('/enumerations/issue_priorities.:format', '\\zentao\\nb\\resource\Enum:issue_priorities');
42-
$slim->get('/trackers.:format', '\\zentao\\nb\\resource\Tracker:index');
43-
$slim->get('/queries.:format', '\\zentao\\nb\\resource\Query:index');
44-
$slim->get('/', '\\zentao\\nb\\resource\Main:index');
29+
$routes = require __DIR__ . '/data/config/routes.php';
30+
31+
foreach ($routes as $method => $_routes) {
32+
if ($_routes) {
33+
foreach ($_routes as $rule => $map) {
34+
$slim->$method($rule, '\\zentao\\nb\\resource\\' . $map);
35+
}
36+
}
37+
}
38+
4539
$slim->run();

0 commit comments

Comments
 (0)
Please sign in to comment.