From 26e20ef1a14f0734f6082dfb20a05fbcd6809165 Mon Sep 17 00:00:00 2001 From: Sam Light Date: Wed, 10 Jun 2026 19:00:31 +0100 Subject: created some basic structure classes --- src/Enums/HttpMethod.php | 15 +++++++++++++++ src/Enums/SpecialSegment.php | 10 ++++++++++ src/PathSegment.php | 28 ++++++++++++++++++++++++++++ src/Route.php | 21 +++++++++++++++++++++ src/Router.php | 9 +++++++++ 5 files changed, 83 insertions(+) create mode 100644 src/Enums/HttpMethod.php create mode 100644 src/Enums/SpecialSegment.php create mode 100644 src/PathSegment.php create mode 100644 src/Route.php create mode 100644 src/Router.php diff --git a/src/Enums/HttpMethod.php b/src/Enums/HttpMethod.php new file mode 100644 index 0000000..9b561a8 --- /dev/null +++ b/src/Enums/HttpMethod.php @@ -0,0 +1,15 @@ +'; +} diff --git a/src/PathSegment.php b/src/PathSegment.php new file mode 100644 index 0000000..e57667b --- /dev/null +++ b/src/PathSegment.php @@ -0,0 +1,28 @@ + */ + protected array $segments; + + public function __construct( + SpecialSegment|string $content, + ) { + if ($content instanceof SpecialSegment) { + $this->content = $content->value; + $this->specialSegment = $content; + } else { + $this->content = $content; + } + } +} diff --git a/src/Route.php b/src/Route.php new file mode 100644 index 0000000..1a9ad03 --- /dev/null +++ b/src/Route.php @@ -0,0 +1,21 @@ +handler = Closure::fromCallable($handler); + } +} diff --git a/src/Router.php b/src/Router.php new file mode 100644 index 0000000..efcccfa --- /dev/null +++ b/src/Router.php @@ -0,0 +1,9 @@ +