Roadmap - Raphhh/puppy-application GitHub Wiki

Roadmap for future features

Major

Optional bindings

  1. Add IRoutePatternSetter::default($alias, $defaultValue): so we can use $alias as a optional pattern with a default value.

  2. Change the signature of IRoutePatternSetter::binding($alias, $pattern, $defaultValue = null, $delimiter = ':')

  3. rename initModules and addModule ot registerModules and registerModule.

Cache as service

  1. refactor ModuleFactory and set the cache in a service out of the class.

Route name

  1. IRoutePatternSetter::as($name): Give a name to a route. Must be unique by route. So we need the Route instead of the RoutePattern un the Adapter. This interface should also change of name => IRouteSetter.

  2. RouteResolver / UrlGenerator: New class/function that gives an uri from a route name and optionnal binding values. + encodeUrl? Need the route name.

  3. AppController::to($routeName, array $flashes = [], array $headers = []): Redirect to a specific route. Need the RouteResolver.

Minor

  1. Error handler: See doc in README for error handling

  2. FileResponse class: New class for returning a file in donwloading. __construt($fileContent, $fileName, $mime)

  3. Services builder: To deleguate the service creation currently in Application.

  4. Catch the warning of RouteFinder.