2017-01-16 22:21:11 -05:00
|
|
|
<?php
|
2017-01-25 21:55:13 -05:00
|
|
|
// Properly handle error logging, as well as a fatal error workaround
|
2017-01-28 01:28:53 -05:00
|
|
|
require_once(__DIR__ . '/autoload.php');
|
2017-01-26 22:00:45 -05:00
|
|
|
error_reporting(0);
|
2017-01-25 21:55:13 -05:00
|
|
|
set_error_handler('errorHandler');
|
|
|
|
register_shutdown_function('fatalErrorShutdownHandler');
|
|
|
|
|
2017-01-18 21:56:12 -05:00
|
|
|
function handle404() {
|
|
|
|
http_response_code(404);
|
|
|
|
print json_encode('404 found');
|
|
|
|
}
|
|
|
|
|
2017-01-20 07:19:39 -05:00
|
|
|
function assertApiIsEnabled() {
|
2017-01-26 22:00:45 -05:00
|
|
|
|
2017-01-25 21:55:13 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function errorHandler($errorNumber, $errorMessage, $errorFile, $errorLine) {
|
|
|
|
print_error(sprintf("Uncaught error in %s", $errorFile), $errorMessage);
|
|
|
|
die();
|
|
|
|
}
|
|
|
|
|
|
|
|
function fatalErrorShutdownHandler() {
|
|
|
|
$last_error = error_get_last();
|
|
|
|
if ($last_error['type'] === E_ERROR) {
|
|
|
|
// fatal error
|
|
|
|
errorHandler(E_ERROR, $last_error['message'], $last_error['file'], $last_error['line']);
|
|
|
|
}
|
2017-01-20 07:19:39 -05:00
|
|
|
}
|
|
|
|
|
2017-01-18 21:56:12 -05:00
|
|
|
// Must use fully-qualified namespace to controllers
|
2017-01-20 07:19:39 -05:00
|
|
|
Link::before('assertApiIsEnabled');
|
|
|
|
|
2017-01-18 17:22:24 -05:00
|
|
|
Link::all(array(
|
2017-01-21 22:09:29 -05:00
|
|
|
// Categories
|
|
|
|
'/v1/categories' => '\Controllers\Category\CategoryController::printAllCategories',
|
|
|
|
'/v1/categories/{i}' => '\Controllers\Category\CategoryController',
|
2017-01-28 01:28:53 -05:00
|
|
|
|
|
|
|
// Any URL that doesn't match goes to the 404 handler
|
2017-01-18 21:56:12 -05:00
|
|
|
'404' => 'handle404'
|
2017-01-17 22:12:45 -05:00
|
|
|
));
|