49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
<?php
|
||
/**
|
||
* Front controller
|
||
*
|
||
* PHP version 7.0
|
||
*/
|
||
/**
|
||
* Composer
|
||
*/
|
||
require dirname(__DIR__) . '/vendor/autoload.php';
|
||
require dirname(__DIR__) . '/App/Config.php';
|
||
/**
|
||
* Error and Exception handling
|
||
*/
|
||
error_reporting(E_ALL);
|
||
set_error_handler('Core\Error::errorHandler');
|
||
set_exception_handler('Core\Error::exceptionHandler');
|
||
/**
|
||
* Routing
|
||
*/
|
||
$router = new Core\Router();
|
||
// Add the routes
|
||
$router->add('', ['controller' => 'Home', 'action' => 'index']);
|
||
$router->add('{controller}/{action}');
|
||
$router->add('{controller}/{action}/{id:.+}');
|
||
if($_SERVER['HTTP_HOST'] == '127.0.0.1'){
|
||
$router->AddPrefix(\App\Config::ROUTE_PREFIX_DEV);
|
||
\App\Config::$DEBUG = true;
|
||
}
|
||
else{
|
||
$router->AddPrefix(\App\Config::ROUTE_PREFIX);
|
||
}
|
||
|
||
try{
|
||
//for prefight request
|
||
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
|
||
header('Access-Control-Allow-Origin:*');
|
||
header('Access-Control-Allow-Methods:OPTIONS, GET, POST'); // 允许option,get,post请求
|
||
header('Access-Control-Allow-Headers:x-requested-with'); // 允许x-requested-with请求头
|
||
header('Access-Control-Allow-Headers:content-type,x-ijt'); // 允许x-requested-with请求头
|
||
print "";
|
||
return;
|
||
}else{
|
||
$router->dispatch($_SERVER['REQUEST_URI']);
|
||
}
|
||
}catch (Exception $exception){
|
||
echo $exception;
|
||
}
|