Skip to content

Slim 4.0 Road Map #1686

Description

@codeguy

Here are some intiial thoughts:

  • [BC break] Extract Slim\Http into separate PSR-7 component (ONLY PSR-7 methods)
  • [BC break] Create custom decorator classes to hold Slim-specific additions to PSR-7
  • Accommodate additional media type parsers in request
  • Address issues reported by Phan
  • Improve test coverage

Additional ideas:

  • [BC break] Remove Request, Response and Env from container (@akrabat)
  • [BC break] Don't set content-length by default. Provide a middleware for people to use if they want to. (@akrabat)
  • Make it faster (or at least don't slow it down!) (@Cyrille37)
  • [BC break] Removing Method-Override and providing a middleware (@geggleto)
  • [BC break] Decide if we need subRequest at all (@codeguy/@silentworks/@geggleto)
  • Lazy resolve route middlewares (Lazy resolve Route middleware #1635) We already do this with route callable(only resolve the matched one). (@mathmarques)
  • Look at __invoke and run on App and see if we can consolidate functionality and make them easier to unit test. (@geggleto)
  • [BC break] Consolidate error handlers for exceptions and PHP 7 errors (@akrabat)
  • Can we avoid statics in Slim\Http? See (Thoughts?) Feature - Allow users to Specify their own Http Classes Easily #1850 (@Raistlfiren)
  • [BC break] Look at pathFor()'s parameters? see More flexibility for URL parameters #1800 (@akrabat)
  • [BC break] Do something about basePath from Request. Maybe middleware solution instead? (@akrabat)
  • [BC break] Remove determineRouteBeforeDispatch and make routing a middleware that can be placed where you want it to be. If you don't add it yourself, we would add it immediately before dispatch. (@akrabat)
  • Use getallheaders() to get the Authorisation header. (irc channel)
  • Move documentation into main repo and publish to website on each new release. That way we can insist on documentation with the PR.
  • [BC break] Either rename Slim\Exception\SlimException or remove it.

Please add additional thoughts below.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions