ride/web

Web interface for a Ride application

1.2 2023-08-23 12:56 UTC

README

This module adds a web interface to your Ride application.

What's In This Application

Libraries

This module adds the following libraries on top of the application.

RouterService

The RouterService class is a facade to the routing subsystem. You can use it to resolve and manage the routes.

AbstractController

The AbstractController class is the starting point for a controller in the MVC pattern. It adds some usefull methods for retrieving system objects or setting response views.

FileController

The FileController hosts files from an internal directory.

WebApplication

The WebApplication class is the workhorse of the Ride web interface. It implements the MVC pattern and offers events to hook in. You can use it to resolve routes or to manipulate the sytsem flow.

Parameters

  • http.proxy: URL for the proxy server of the HTTP client
  • system.cache.router: Path for the router cache file
  • system.class.request: Class name for a new request
  • system.class.response: Class name for a new response
  • system.default.action: Callback for the default action when no route matched
  • system.directory.config: Name of the config directory
  • system.http.url: Default URL for the HTTP factory in a CLI environment where no incoming URL can be resolved
  • system.route.container.default: Dependency id of the route container IO in use
  • system.route.container.cache: Dependency id of the cached route container IO
  • system.session.path: Path to the session storage
  • system.session.name: Name of the session cookie
  • system.session.timeout: Session timeout in seconds, defaults to 1800

Events

  • app.exception: Invoked when an uncatched exception is thrown. This event has the thrown exception and the web application as arguments. (exception, web)
  • app.route.pre: Invoked before routing the request. This event has the web application as argument. (web)
  • app.route.post: Invoked after routing the request. This event has the web application as argument. (web)
  • app.dispatch.pre: Invoked before dispatching a request to it's controller. This event has the web application as argument (web)
  • app.dispatch.post: Invoked adter dispatching a request to it's controller. This event has the web application as argument (web)
  • app.response.pre: Invoked before the response is rendered and send. This event has the web application as argument (web)
  • app.response.post: Invoked after the response has been rendered and sent. This event has the web application as argument (web)

Related Modules

Installation

You can use Composer to install this application.

composer require ride/setup-web

or for manual install:

composer require ride/web