From 7461a42586555f523cc71347a2354bfadecc1e8b Mon Sep 17 00:00:00 2001 From: Kilian Hofmann Date: Sat, 20 Jul 2024 14:04:08 +0200 Subject: [PATCH] More loader --- exam/Api/Login/Login.php | 11 --- exam/api/Login/Login.php | 11 +++ exam/composer.json | 15 ++-- exam/index.php | 2 + exam/pages/NotFound/NotFound.php | 13 ++++ exam/routes/routes.php | 23 +++++-- exam/utils/.htaccess | 3 + exam/utils/helpers.php | 88 ++++++++++++++++++++++++ exam/vendor/composer/autoload_psr4.php | 3 +- exam/vendor/composer/autoload_static.php | 32 +++++---- 10 files changed, 161 insertions(+), 40 deletions(-) delete mode 100644 exam/Api/Login/Login.php create mode 100644 exam/api/Login/Login.php create mode 100644 exam/pages/NotFound/NotFound.php create mode 100644 exam/utils/.htaccess create mode 100644 exam/utils/helpers.php diff --git a/exam/Api/Login/Login.php b/exam/Api/Login/Login.php deleted file mode 100644 index 758c78b..0000000 --- a/exam/Api/Login/Login.php +++ /dev/null @@ -1,11 +0,0 @@ -Not Found + END; + } +} diff --git a/exam/routes/routes.php b/exam/routes/routes.php index a8e779e..e686029 100644 --- a/exam/routes/routes.php +++ b/exam/routes/routes.php @@ -1,12 +1,21 @@ getCode()) { + // Page not found + case 404: + redirect('/phpCourse/exam/not-found', 404); + } +}); +*/ +//404 +SimpleRouter::get('/not-found', [Pages\NotFound\NotFound::class, "render"]); +//Index SimpleRouter::get('/', function () { return 'Hello world'; }); - -$l = new Login(); - -SimpleRouter::get("/api/login", [Login::class, 'get']); +//API +SimpleRouter::get("/api/login", [Api\Login\Login::class, 'post']); diff --git a/exam/utils/.htaccess b/exam/utils/.htaccess new file mode 100644 index 0000000..872a3ce --- /dev/null +++ b/exam/utils/.htaccess @@ -0,0 +1,3 @@ +Order deny,allow +Deny from all +Allow from 127.0.0.1 \ No newline at end of file diff --git a/exam/utils/helpers.php b/exam/utils/helpers.php new file mode 100644 index 0000000..81d836f --- /dev/null +++ b/exam/utils/helpers.php @@ -0,0 +1,88 @@ +getInputHandler()->value($index, $defaultValue, ...$methods); + } + + return request()->getInputHandler(); +} + +/** + * @param string $url + * @param int|null $code + */ +function redirect(string $url, ?int $code = null): void +{ + if ($code !== null) { + response()->httpCode($code); + } + + response()->redirect($url); +} + +/** + * Get current csrf-token + * @return string|null + */ +function csrf_token(): ?string +{ + $baseVerifier = Router::router()->getCsrfVerifier(); + if ($baseVerifier !== null) { + return $baseVerifier->getTokenProvider()->getToken(); + } + + return null; +} \ No newline at end of file diff --git a/exam/vendor/composer/autoload_psr4.php b/exam/vendor/composer/autoload_psr4.php index 0d146da..edda244 100644 --- a/exam/vendor/composer/autoload_psr4.php +++ b/exam/vendor/composer/autoload_psr4.php @@ -7,5 +7,6 @@ $baseDir = dirname($vendorDir); return array( 'Pecee\\' => array($vendorDir . '/pecee/simple-router/src/Pecee'), - 'Api\\' => array($baseDir . '/Api'), + 'Api\\' => array($baseDir . '/api'), + 'Pages\\' => array($baseDir . '/pages'), ); diff --git a/exam/vendor/composer/autoload_static.php b/exam/vendor/composer/autoload_static.php index f6e1b73..9828219 100644 --- a/exam/vendor/composer/autoload_static.php +++ b/exam/vendor/composer/autoload_static.php @@ -6,29 +6,34 @@ namespace Composer\Autoload; class ComposerStaticInitd067465d9a99de373ba3093d61eda1d8 { - public static $prefixLengthsPsr4 = array ( - 'P' => - array ( + public static $prefixLengthsPsr4 = array( + 'P' => + array( + 'Pages\\' => 6, 'Pecee\\' => 6, ), - 'A' => - array ( - 'Api\\' => 4, + 'A' => + array( + 'api\\' => 4, ), ); - public static $prefixDirsPsr4 = array ( - 'Pecee\\' => - array ( + public static $prefixDirsPsr4 = array( + 'Pages\\' => + array( + 0 => __DIR__ . '/..' . '/pages', + ), + 'Pecee\\' => + array( 0 => __DIR__ . '/..' . '/pecee/simple-router/src/Pecee', ), - 'Api\\' => - array ( - 0 => __DIR__ . '/../..' . '/Api', + 'Api\\' => + array( + 0 => __DIR__ . '/../..' . '/api', ), ); - public static $classMap = array ( + public static $classMap = array( 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', ); @@ -38,7 +43,6 @@ class ComposerStaticInitd067465d9a99de373ba3093d61eda1d8 $loader->prefixLengthsPsr4 = ComposerStaticInitd067465d9a99de373ba3093d61eda1d8::$prefixLengthsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInitd067465d9a99de373ba3093d61eda1d8::$prefixDirsPsr4; $loader->classMap = ComposerStaticInitd067465d9a99de373ba3093d61eda1d8::$classMap; - }, null, ClassLoader::class); } }