Request

O objeto `Request` do Lithe fornece uma maneira orientada a objetos de interagir com a atual requisição HTTP sendo manipulada pela sua aplicação, além de recuperar os inputs, cookies e arquivos que foram submetidos com a requisição.

Propriedades

params

  • Descrição: Parâmetros da requisição, como dados de formulário ou parâmetros de URL.
  • Tipo: object
$app->get('/hello/:name', function($req, $res) {
    $params = $req->params;
    // Exemplo: $params pode conter dados como ['name' => 'John']
});

method

  • Descrição: Método HTTP da requisição (por exemplo, 'GET', 'POST').
  • Tipo: string
$app->get('/hello', function($req, $res) {
    $method = $req->method; // Exemplo: $method pode ser 'GET'
});

headers

  • Descrição: Cabeçalhos da requisição.
  • Tipo: array
$app->get('/hello', function($req, $res) {
    $headers = $req->headers;
});

ip

  • Descrição: Endereço IP do cliente que fez a requisição.
  • Tipo: string
$app->get('/hello', function($req, $res) {
    $ip = $req->ip;
    // Exemplo: $ip pode ser '192.168.1.1'
});

query

  • Descrição: Dados da string de consulta da URL.
  • Tipo: object
$app->get('/hello', function($req, $res) {
    $query = $req->query;
    // Exemplo: $query pode conter ['search' => 'Lithe']
});

url

  • Descrição: URL da requisição.
  • Tipo: string
$app->get('/hello', function($req, $res) {
    $url = $req->url;
    // Exemplo: $url pode ser '/hello'
});

body

  • Descrição: Dados do corpo da requisição.
  • Tipo: object|array|mixed
$app->post('/submit', function($req, $res) {
    $body = $req->body;
    // Exemplo: $body pode conter ['name' => 'John']
});

files

  • Descrição: Arquivos enviados na requisição (se aplicável).
  • Tipo: object|array|array[]
$app->post('/upload', function($req, $res) {
    $files = $req->files;
    // Exemplo: $files pode conter informações sobre arquivos carregados
});

cookies

  • Descrição: Cookies enviados com a requisição.
  • Tipo: object
$app->get('/hello', function($req, $res) {
    $cookies = $req->cookies;
    // Exemplo: $cookies pode conter ['session_id' => 'abc123']
});

Métodos

__get(string $name)

  • Descrição: Método mágico para acessar valores das propriedades dinamicamente.
  • Parâmetros:
    • name - Nome da propriedade.
  • Retorno: Valor da propriedade ou null se não existir.

__set(string $name, $value)

  • Descrição: Método mágico para definir valores das propriedades dinamicamente.
  • Parâmetros:
    • name - Nome da propriedade.
    • value - Valor a ser definido.

getHost()

  • Descrição: Obtém o host do servidor (incluindo o esquema http/https).
  • Retorno: string - URL do host.
$app->get('/hello', function($req, $res) {
    $host = $req->getHost();
    // Exemplo: $host pode ser 'https://example.com'
});

cookie(string $name, $default = null)

  • Descrição: Obtém o valor de um cookie específico.
  • Parâmetros:
    • name - Nome do cookie.
    • default - Valor padrão se o cookie não existir.
  • Retorno: Valor do cookie ou valor padrão.
$app->get('/hello', function($req, $res) {
    $sessionId = $req->cookie('session_id', 'default_session');
    // Exemplo: $sessionId pode ser 'abc123' ou 'default_session'
});

header(string $name, mixed $default = null): mixed

  • Descrição: Obtém o valor de um cabeçalho específico da requisição.
  • Parâmetros:
    • name - Nome do cabeçalho.
    • default - Valor padrão se o cabeçalho não existir.
  • Retorno: Valor do cabeçalho ou valor padrão.
$app->get('/hello', function($req, $res) {
    $contentType = $req->header('Content-Type', 'text/plain');
    // Exemplo: $contentType pode ser 'application/json' ou 'text/plain'
});

isAjax()

  • Descrição: Verifica se a requisição é uma requisição AJAX.
  • Retorno: bool - true se for uma requisição AJAX, false caso contrário.
$app->get('/hello', function($req, $res) {
    if ($req->isAjax()) {
        // Executa código específico para requisições AJAX
    }
});

query(string $key = null, $default = null)

  • Descrição: Obtém o valor de um parâmetro de consulta específico.
  • Parâmetros:
    • key - Nome do parâmetro.
    • default - Valor padrão se o parâmetro não existir.
  • Retorno: Valor do parâmetro ou valor padrão.
$app->get('/search', function($req, $res) {
    $searchTerm = $req->query('search', 'default');
    // Exemplo: $searchTerm pode ser 'Lithe' ou 'default'
});

file(string $name = null)

  • Descrição: Obtém informações sobre um arquivo enviado.
  • Parâmetros:
    • name - Nome do input do arquivo.
  • Retorno: Informações do arquivo ou null se não houver arquivo.
$app->post('/upload', function($req, $res) {
    $file = $req->file('uploaded_file');
    // Exemplo: $file pode conter informações sobre o arquivo enviado
});

filter(string $key, string $filterType, $default = null)

  • Descrição: Filtra um valor baseado no tipo de filtro especificado.
  • Parâmetros:
    • key - Chave que contém o valor a ser filtrado.
    • filterType - Tipo de filtro a ser aplicado.
    • default - Valor padrão se o filtro falhar ou o valor não estiver definido.
  • Retorno: Valor filtrado ou valor padrão.
$app->post('/submit', function($req, $res) {
    $email = $req->filter('email', 'email', 'default@example.com');
    // $email pode ser um e-mail válido ou 'default@example.com'
});

method(): string

  • Descrição: Obtém o método HTTP da requisição (por exemplo, 'GET', 'POST').
  • Retorno: O método HTTP da requisição.
$app->get('/hello', function($req, $res) {
    $method = $req->method(); 
});

param(string $name, mixed $default = null): mixed

  • Descrição: Recupera o valor de um parâmetro pelo seu nome.
  • Parâmetros:
    • name - O nome do parâmetro a ser recuperado.
    • default - O valor padrão a ser retornado se o parâmetro não for encontrado.
  • Retorno: O valor do parâmetro ou o valor padrão se o parâmetro não for encontrado.
$app->get('/hello/:name', function($req, $res) {
    $name = $req->param('name', 'default_name'); 
});