54 lines
1.5 KiB
PHP
54 lines
1.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* File: public/index.php
|
|
* Version: v1.4
|
|
* Purpose: Application entry point for Arsha one-pager with early session start
|
|
* Project: Wizdom Networks Website
|
|
*/
|
|
|
|
// Enable strict error reporting
|
|
ini_set('display_errors', 1);
|
|
ini_set('display_startup_errors', 1);
|
|
error_reporting(E_ALL);
|
|
|
|
// Autoload classes via Composer
|
|
require_once __DIR__ . '/../vendor/autoload.php';
|
|
|
|
// Load environment variables
|
|
use Dotenv\Dotenv;
|
|
$dotenv = Dotenv::createImmutable(__DIR__ . '/../');
|
|
$dotenv->load();
|
|
|
|
// Start session before any router logic
|
|
use WizdomNetworks\WizeWeb\Utilities\SessionHelper;
|
|
SessionHelper::start();
|
|
|
|
// Import core system utilities
|
|
use WizdomNetworks\WizeWeb\Core\Router;
|
|
use WizdomNetworks\WizeWeb\Utilities\Logger;
|
|
use WizdomNetworks\WizeWeb\Utilities\ErrorHandler;
|
|
|
|
// Import controllers
|
|
use WizdomNetworks\WizeWeb\Controllers\LandingController;
|
|
use WizdomNetworks\WizeWeb\Controllers\ContactController;
|
|
|
|
// Boot the application
|
|
Logger::info("Bootstrapping application");
|
|
|
|
// Initialize router and define routes
|
|
$router = new Router();
|
|
|
|
// Landing page routes
|
|
$router->add('', LandingController::class, 'index');
|
|
$router->add('/', LandingController::class, 'index');
|
|
$router->add('index.php', LandingController::class, 'index');
|
|
|
|
// Contact form routes
|
|
$router->add('/contact', ContactController::class, 'index', 'GET');
|
|
$router->add('/contact', ContactController::class, 'submit', 'POST');
|
|
|
|
// Dispatch the incoming request
|
|
$requestedPath = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
|
|
$router->dispatch($requestedPath);
|