Files
xamxam/app/router.php

34 lines
983 B
PHP

<?php
/**
* Router script for PHP built-in development server (php -S).
*
* All non-asset requests go through the front controller (public/index.php).
* Admin panel and static files are served directly.
*/
$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
// Static assets: let the dev server handle them directly
$ext = pathinfo($uri, PATHINFO_EXTENSION);
if (in_array($ext, ['css', 'js', 'png', 'jpg', 'jpeg', 'gif', 'ico', 'svg', 'woff', 'woff2', 'ttf', 'eot', 'map'], true)) {
return false; // serve directly
}
// Admin panel: serve files directly
if (str_starts_with($uri, '/admin')) {
// Rewrite /admin → /admin/index.php
$file = __DIR__ . '/public' . $uri;
if (is_dir($file)) {
$file .= '/index.php';
}
if (file_exists($file)) {
include $file;
return true;
}
}
// Send everything else through the front controller
$_SERVER['SCRIPT_NAME'] = '/index.php';
require __DIR__ . '/public/index.php';
return true;