Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 5.4.0.0 #686

Merged
merged 20 commits into from
Nov 21, 2023
Merged

Version 5.4.0.0 #686

merged 20 commits into from
Nov 21, 2023

Conversation

skipperbent
Copy link
Owner

@skipperbent skipperbent commented Nov 21, 2023

  • InputHandler: Added support for input stream when not json encoded.
  • Added @return never to Response.php (thanks to @ATC-4K)
  • Fixed rare double execution of rewrite routes in exception handler (thanks to @ms-afk).

skipperbent and others added 20 commits February 9, 2023 03:35
In PHP8.1 instead of :void :never would be returned.
As this project is PHP7.4 compatible, we add it as a PHPDOC, so IDEs using this project will no longer complain and automatic checks will successfully detect dead code after calling a redirect()
The previous version of the example in the README used exceptions that were not imported (NotFoundHttpException) to wrap existing exceptions. I've adapted the example to be similar to the current version of Pecee\SimpleRouter\ClassLoader\ClassLoader. That includes returning strings from loadClassMethod and loadClosure and not wrapping every exception, thrown by the called functions, into NotFoundHttpException exceptions, as well as using the exception ClassNotFoundHttpException when a class cannot be found, instead of the generic NotFoundHttpException. I also changed the way the ClassLoader checks if the container can resolve the class by using the container's method "has" instead of the php function class_exists.
If a rewrite route is present, Router's method handleException will, currently, be adding that route to the processedRoutes array without removing the hasPendingRewrite flag. This leads to the associated callback being executed twice if the callback itself returns NULL. This happens because the handleRouteRewrite method, finding that hasPendingRewrite is still set to true, adds the rewriteRoute to the processedRoutes for a second time, before finally setting that flag to false.
Fixed the php-di integration example in the README
Fixed rare double execution of rewrite routes in exception handler
@skipperbent skipperbent merged commit e22ea70 into v5-release Nov 21, 2023
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants