<?php
// 网站入口文件
session_start();

// 定义基础路径
define('BASE_PATH', __DIR__);
define('APP_PATH', BASE_PATH . '/app');
define('PUBLIC_PATH', BASE_PATH . '/public');

// 加载配置文件
require_once BASE_PATH . '/config/config.php';
require_once BASE_PATH . '/config/database.php';

// 加载核心函数
require_once BASE_PATH . '/app/functions.php';

// 路由处理
$route = $_GET['route'] ?? 'home';

// 根据路由加载相应的控制器
switch($route) {
    case 'home':
        require_once APP_PATH . '/controllers/HomeController.php';
        $controller = new HomeController();
        $controller->index();
        break;
    case 'products':
        require_once APP_PATH . '/controllers/ProductController.php';
        $controller = new ProductController();
        $controller->index();
        break;
    case 'pricing':
        require_once APP_PATH . '/controllers/PricingController.php';
        $controller = new PricingController();
        $controller->index();
        break;
    case 'cases':
        require_once APP_PATH . '/controllers/CaseController.php';
        $controller = new CaseController();
        $controller->index();
        break;
    case 'about':
        require_once APP_PATH . '/controllers/AboutController.php';
        $controller = new AboutController();
        $controller->index();
        break;
    case 'news':
        require_once APP_PATH . '/controllers/NewsController.php';
        $controller = new NewsController();
        $controller->index();
        break;
    case 'member':
        require_once APP_PATH . '/controllers/MemberController.php';
        $controller = new MemberController();
        $controller->index();
        break;
    case 'admin':
        require_once APP_PATH . '/controllers/AdminController.php';
        $controller = new AdminController();
        $controller->index();
        break;
    default:
        require_once APP_PATH . '/controllers/HomeController.php';
        $controller = new HomeController();
        $controller->index();
        break;
}