-
Notifications
You must be signed in to change notification settings - Fork 26
/
index.php
107 lines (82 loc) · 3.22 KB
/
index.php
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
##############################################################################
# requirements - must be included in your index.php
##############################################################################
#
require_once 'lib/fsl.php';
##############################################################################
# configurations
##############################################################################
# All in config directory
##############################################################################
# code to run before route execution
##############################################################################
#
function before($route)
{
header("X-LIM-route-function: ".$route['callback']);
option('routecallback', $route['callback']);
layout('fsl_default_layout.php');
}
##############################################################################
# sample routes
##############################################################################
#
# routes and controllers
# ----------------------------------------------------------------------------
# Sample RESTFul map:
#
# HTTP Method | Url path | Controller function
# -------------+-------------------+-------------------------------------------
# GET | / | api
dispatch('/:uri_param/**', 'api');
dispatch_post('/:uri_param/**', 'api');
dispatch_put('/:uri_param/**', 'api');
dispatch_delete('/:uri_param/**', 'api');
dispatch_patch('/:uri_param/**', 'api');
##############################################################################
# run after function
##############################################################################
#
function after($output, $route)
{
// Uncomment to show request params and response timing
// Helpful for debuggin
/*
$time = number_format( microtime(true) - LIM_START_MICROTIME, 6);
$output .= "\n<!-- page rendered in $time sec., on ".date(DATE_RFC822)." -->\n";
$output .= "<!-- for route\n";
$output .= print_r($route, true);
$output .= "-->";
*/
return $output;
}
run();
##############################################################################
# Data Models
##############################################################################
#
##############################################################################
# layouts (views) and html templates
##############################################################################
# Layouts are autoloaded from views directory or can be referended
# as a function like below.
##############################################################################
# custom error declaration
##############################################################################
#
// Custom 404
function not_found($errno, $errstr, $errfile, $errline){
$arr = array('Error' => "$errno $errstr Not Found");
// status(202); //returns HTTP status code of 202
status(404); //returns HTTP status code of 202
return json($arr);
}
// Custom 500
function server_error($errno, $errstr, $errfile, $errline){
$arr = array('Error' => "$errno $errstr ");
// status(202); //returns HTTP status code of 202
status(500); //returns HTTP status code of 202
return json($arr);
}
?>