game2006api/webapp/index.php
2021-11-19 19:23:59 +08:00

56 lines
1.3 KiB
PHP

<?php
require '../config/config.php';
require 'bootstrap/init.php';
if (empty($_REQUEST['c']) || empty($_REQUEST['a'])) {
die();
return;
}
function autoload_controller__($classname)
{
require_once "controller/$classname.class.php";
spl_autoload_unregister('autoload_controller__');
}
spl_autoload_register('autoload_controller__');
function loginVerify($accountid, $sessionid)
{
if (!phpcommon\isValidSessionId($accountid, $sessionid)) {
return false;
}
return true;
}
$rewriteRule = array(
'NGun' => 'Gun',
'Property' => 'Role',
'NBag' => 'Bag',
'NHero' => 'Hero',
'NPlayer' => 'Role',
'NPlayerInfo' => 'Role',
'NRank' => 'Rank',
);
function getRewriteClass($oldC)
{
global $rewriteRule;
if (isset($rewriteRule[$oldC])) {
return $rewriteRule[$oldC];
}
return $oldC;
}
try{
$c = $_REQUEST['c'];
$a = $_REQUEST['a'];
$c = getRewriteClass($c);
$classname = $c .'Controller';
$beginTick = phpcommon\getTickCount();
$obj = eval('$obj = new $classname(); $obj->handlePre(); $obj->$a(); $obj->handlePost();');
//error_log('c=' . $_REQUEST['c'] . ' a=' . $_REQUEST['a'] . ' costtime:' . (phpcommon\getTickCount() - $beginTick));
} catch (Exception $e){
echo($e);
}