Http Helpers
The package exposes a small helper layer in Quantum\Http\Helpers\http.php.
request()
function request(): Request
Behavior:
- checks whether
Request::classis registered in DI - registers it if missing
- returns
Di::get(Request::class)
That means every caller in the same container receives the same Request instance.
response()
function response(): Response
Behavior mirrors request() and returns the shared Response instance for the current container.
URL helpers
base_url(bool $withModulePrefix = false): string
This is a thin proxy to request()->getBaseUrl(...).
current_url(): string
This proxies request()->getCurrentUrl().
Redirect helpers
redirect(string $url, int $code = StatusCode::FOUND): Response
This returns response()->redirect($url, $code).
Because it returns the response object, callers can continue mutating headers or body state afterward.
redirectWith(string $url, array $data, int $code = StatusCode::FOUND): Response
This helper stores $data into the session under ReservedKeys::PREV_REQUEST and then returns a redirect response.
The helper overwrites any previous value already stored under that session key.
Old input helper
old(string $key)
old() reads one key from the session entry created by redirectWith().
Behavior is intentionally consumptive:
- if the session key does not exist, returns
null - if the stored value is not an array or the requested key is missing, returns
null - otherwise reads the value
- removes that one key from the stored session array
- writes the reduced array back into the session
- returns the value
Practical effect:
old('email')can only return the same stored key once unless something writes it again- consuming one key leaves the other old-input keys in place
Referrer helper
get_referrer(): ?string
This is a thin proxy to request()->getReferrer().
page_not_found_response()
function page_not_found_response(): Response
This helper chooses between a JSON 404 response and an HTML 404 response.
Decision rule:
- if
request()->getHeader('Accept') === ContentType::JSON, return JSON - otherwise, render HTML from
partial('errors' . DS . StatusCode::NOT_FOUND)
Both branches return status code 404.
Important caveat
The JSON branch uses exact string equality.
So headers like these do not count as JSON in the current implementation:
application/json; charset=utf-8application/json, text/plain, */*
Those values fall back to the HTML 404 response path.