Aviso - alguns recursos desta página requerem um navegador ou sistema operacional mais recente que o que você está usando no momento. Se você tiver um navegador diferente disponível, abra esta página com ele.
Usando o objeto HTTP Response
Documentação da APIResposta
Código de Exemplo
// Enviando uma resposta utilizando o Objeto Aplicação. Por padrão quando uma
// string é retornada em uma rota o servidor retorna uma resposta HTML.
$app->get('/app-html', function() {
return '<h1>Olá Mundo</h1>';
});
// O Objeto Response provê várias opções como cabeçalhos de controle de cache e
// cookies seguros. Este exemplo mostra uma resposta HTML básica, definindo
// [content()] e retornando o Objeto Response.
$app->get('/res-html', function() {
$res = new \FastSitePHP\Web\Response();
$res->content('<h1>Olá Mundo</h1>');
return $res;
});
// Retorne uma Resposta JSON retornando um Objeto ou uma Array
$app->get('/app-json-object', function() {
$object = new \stdClass;
$object->greeting = 'Olá Mundo';
return $object;
});
$app->get('/app-json-array', function() {
return ['greeting' => 'Olá Mundo'];
});
// Envie JSON utilizando o Objeto Response
$app->get('/res-json', function() {
$res = new \FastSitePHP\Web\Response();
// Defina o cabeçalho 'Content-Type'.
// Todas as seguintes 3 chamadas de função definem o mesmo valor.
// A diferença é que [contentType()] é uma função auxiliar que permite
// valores de forma abreviada [html, json, jsonp, text, css, javascript, xml].
$res->contentType('json');
$res->contentType('application/json');
$res->header('Content-Type', 'application/json');
// Para JSON Content, Objetos e Arrays são utilizados
$data = ['greeting' => 'Olá Mundo'];
$res->content($object);
// A auxiliar [json()] pode melhorar a legibilidade por que isto define
// ambas [contentType()] e [content()].
$res->json($data);
return $res;
});
// O Objeto da Aplicação permite Cabeçalhos Response básicos utilizando a função
// [header()]. Isto ajuda a evitar a criação de um Objeto Response se isto não
// for necessário, entretanto, um objeto resposta pode ser preferido por questão
// de clareza.
$app->get('/app-text', function() {
$app->header('Content-Type', 'text/plain');
return 'Olá Mundo';
});
// Ao utilizar Objeto Response, propriedades são definidas através de funções
// getter/setter e são encadeáveis.
$app->get('/res-text', function() {
return (new \FastSitePHP\Web\Response())
->contentType('text')
->content('Olá Mundo');
});