From 78bfef9a1c025fcd76d64ea0c914f0010b880f6e Mon Sep 17 00:00:00 2001 From: TheClashFruit Date: Fri, 15 Sep 2023 17:42:27 +0200 Subject: [PATCH] feat: better router --- composer.json | 3 +- composer.lock | 53 +++++++++++++++++++++++++++++++++++- favicon.ico | Bin 0 -> 103620 bytes index.php | 37 ++++++++++++++++--------- template/includes/head.twig | 4 +-- template/includes/nav.twig | 2 +- 6 files changed, 81 insertions(+), 18 deletions(-) create mode 100644 favicon.ico diff --git a/composer.json b/composer.json index 87f789c..e061b41 100644 --- a/composer.json +++ b/composer.json @@ -2,6 +2,7 @@ "require": { "twig/twig": "^3.0", "anlutro/curl": "^1.5", - "vlucas/phpdotenv": "^5.5" + "vlucas/phpdotenv": "^5.5", + "bramus/router": "1.6" } } diff --git a/composer.lock b/composer.lock index 2eb91f3..26ee4c8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3f1571128a1e9ef26dd6298b243bdd9d", + "content-hash": "37fb0f4a910e4ba4add92cd9abbdf84a", "packages": [ { "name": "anlutro/curl", @@ -50,6 +50,57 @@ }, "time": "2023-06-27T07:39:41+00:00" }, + { + "name": "bramus/router", + "version": "1.6", + "source": { + "type": "git", + "url": "https://github.com/bramus/router.git", + "reference": "d2cf97d5c471e272ac5a2a88b652bc75089c8ae3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bramus/router/zipball/d2cf97d5c471e272ac5a2a88b652bc75089c8ae3", + "reference": "d2cf97d5c471e272ac5a2a88b652bc75089c8ae3", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.14", + "phpunit/php-code-coverage": "~2.0", + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-0": { + "Bramus": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bram(us) Van Damme", + "email": "bramus@bram.us", + "homepage": "http://www.bram.us" + } + ], + "description": "A lightweight and simple object oriented PHP Router", + "homepage": "https://github.com/bramus/router", + "keywords": [ + "router", + "routing" + ], + "support": { + "issues": "https://github.com/bramus/router/issues", + "source": "https://github.com/bramus/router/tree/1.6" + }, + "time": "2021-07-23T09:48:14+00:00" + }, { "name": "graham-campbell/result-type", "version": "v1.1.1", diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..849a6cd721fd2afdc6bd62a1addba330fd939ee8 GIT binary patch literal 103620 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

TaGvPtfjYS<@q9a-qYdeJjU^vYgZny(azp+Klk; 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 R<7HFjud92k{Hn#!{{x|iw;})l literal 0 HcmV?d00001 diff --git a/index.php b/index.php index d209c1a..7c2ddc1 100644 --- a/index.php +++ b/index.php @@ -3,20 +3,31 @@ require_once '_config.php'; + use Bramus\Router\Router; + + $router = new Router(); + session_start(); if(isset($_SESSION['user'])) $twig->addGlobal('user', $_SESSION['user']); - - switch ($_SERVER['REQUEST_URI']) { - case "/": - echo $twig->render('index.twig'); - break; - case "/nations": - echo $twig->render('nations.twig'); - break; - default: - http_response_code(404); - echo $twig->render('404.twig'); - break; - } \ No newline at end of file + + $router->get('/u/([a-z0-9_\.]+)', function($name) { + echo 'Hello ' . htmlentities($name); + }); + + $router->get('/', function() { + echo $twig->render('index.twig'); + }); + + $router->get('/nations', function() { + echo $twig->render('index.twig'); + }); + + $router->set404(function() { + http_response_code(404); + + echo $twig->render('404.twig'); + }); + + $router->run(); \ No newline at end of file diff --git a/template/includes/head.twig b/template/includes/head.twig index f57d2f8..8fafa7b 100644 --- a/template/includes/head.twig +++ b/template/includes/head.twig @@ -7,7 +7,7 @@ Clyde's Real Survival SMP • {{ pageTitle }} - - + + \ No newline at end of file diff --git a/template/includes/nav.twig b/template/includes/nav.twig index d59e015..8116969 100644 --- a/template/includes/nav.twig +++ b/template/includes/nav.twig @@ -25,7 +25,7 @@