1/6
threads resolved
added scoped labels
changed title from WIP: (feat): Modernize Router to WIP: (feat): Modernize Router{+ ()+}
- Resolved by Emiliano Balbuena
resolved all threads
added 9 commits
-
3fc05260...26e56438 - 7 commits from branch
master
- fe291dec - Merge remote-tracking branch 'origin/master' into epic/modern-router
- 1a8be8b6 - (wip): Module Router
-
3fc05260...26e56438 - 7 commits from branch
added 69 commits
-
1a8be8b6...fb4bc4e6 - 68 commits from branch
master
- e7c5938f - Merge remote-tracking branch 'origin/master' into epic/modern-router
-
1a8be8b6...fb4bc4e6 - 68 commits from branch
added 1 commit
- 98c08123 - (feat): Module routes matcher & dispatcher; exception handling
added 1 commit
- 4530948d - (fix): Serve static content when accepting text/html
added 1 commit
- ea3f73c6 - (refactor): Streamline middleware and request handler
added 1 commit
- 2e8c8fcd - (chore): Remove unwanted dep from composer.lock
added 1 commit
- f697713e - (fix): PHP strict errors; (chore): Feeds\Activity routes
added 8 commits
-
f697713e...c3a7551e - 7 commits from branch
master
- bc0b7654 - Merge remote-tracking branch 'origin/master' into epic/modern-router
-
f697713e...c3a7551e - 7 commits from branch
added 18 commits
-
bc0b7654...af77626a - 17 commits from branch
master
- 2d8854b8 - Merge remote-tracking branch 'origin/master' into epic/modern-router
-
bc0b7654...af77626a - 17 commits from branch
1 <?php 2 /** 3 * Ref - Owner
Can we explain in this doc header what this class does and what it can be used for?
8 9 use Minds\Core\Di\Ref; 10 use Minds\Core\Router\Middleware\LoggedInMiddleware; 11 use Minds\Core\Router\ModuleRoutes; 12 use Minds\Core\Router\Route; 13 14 class Routes extends ModuleRoutes 15 { 16 /** 17 * Registers all module routes 18 */ 19 public function register(): void 20 { 21 $this->route 22 ->withPrefix('api/v3/newsfeed') 23 ->using([ - Owner
can we change
->using
towithMiddleware
?
147 if (method_exists($handler, $method)) { 148 // Set the request 149 if (method_exists($handler, 'setRequest')) { 150 $handler->setRequest($request); 151 } 152 // Set the response 153 if (method_exists($handler, 'setResponse')) { 154 $handler->setResponse($response); 155 } 156 157 return $handler->$method($pages); 158 } else { 159 exit; 160 } 31 /** @var Dispatcher $dispatcher */ 32 $dispatcher = Di::_()->get('Router'); - Owner
should this not be injected with the constructor so we can spec test?
19 */ 20 class Route 21 { 22 use MagicAttributes; 23 24 /** @var string */ 25 protected $prefix = '/'; 26 27 /** @var string[] */ 28 protected $middleware = []; 29 30 /** @var Registry */ 31 protected $registry; 32 33 /** @var string[] */ 34 const ALLOWED_METHODS = ['get','post','put','delete']; - Owner
options?
47 * @param string $prefix 48 * @return Route 49 */ 50 public function withPrefix(string $prefix): Route 51 { 52 $instance = clone($this); 53 $instance->setPrefix(sprintf("/%s/%s", trim($instance->getPrefix(), '/'), trim($prefix, '/'))); 54 55 return $instance; 56 } 57 58 /** 59 * @param string[] $middleware 60 * @return Route 61 */ 62 public function using(array $middleware): Route - Owner
change to
withMiddleware
?
- Owner
This is looking great. Can we get some spec tests in here too?