-
Notifications
You must be signed in to change notification settings - Fork 8
Resposta HTTP
Nota: Esta documentação abrange o Inphinit 1.0. Para a documentação da versão 2.1, visite: https://inphinit.github.io/pt/docs/http/response.html
Para usar primeiro adicione Inphinit\Http\Response no seu arquivo, por exemplo:
<?php
use Inphinit\Http\Response;Adicionando um cabeçalho:
<?php
namespace Controller;
use Inphinit\Http\Response;
class Examplo
{
public function foo()
{
Response::putHeader('X-Custom-Header', 'foo');
return 'Foo';
}
}Adicionando múltiplos cabeçalhos:
public function foo()
{
Response::putHeader('X-Custom-Header', 'foo');
Response::putHeader('Content-type', 'text/html; charset=UTF-8');
return 'Foo';
}Remove um cabeçalho:
public function foo()
{
Response::putHeader('X-Custom-Header', 'foo');
if (...condição...) {
Response::remove('X-Custom-Header');
}
return 'Foo';
}Os cabeçalhos podem ser adicionados antes ou depois dos Views, já que ambos são apenas executado após o App::exec ser chamado (veja boot/start.php), exemplo:
public function foo()
{
View::render('meuview');
Response::putHeader('X-Custom-Header', 'foo');
}Você pode definir o Cache no HTTP usando Response::cache(segundos):
public function foo()
{
Response::cache(3600); //Uma hora de cache
View::render('meuview');
}Prevenindo o cache HTTP:
public function foo()
{
Response::cache(0); //prevenindo o cache
View::render('meuview');
}Para definir o cabeçalho Content-Type você pode usar:
Response::putHeader('Content-type', 'text/xml');Ou simplesmente:
Response::type('text/xml');Com charset:
Response::type('text/xml; charset=UTF-8');<?php
namespace Controller;
use Inphinit\Http\Response;
class Examples
{
public function foo()
{
Response::type('application/json');
return json_encode(array(
'id' => 1,
'foo' => 'bar'
));
}
}Este recurso é Experimental
<?php
namespace Controller;
use Inphinit\Http\Response;
use Inphinit\Experimental\Dom\Document;
class Examples
{
public function foo()
{
Response::type('text/xml');
$myarray = array(
'root' => array(
'id' => 1,
'foo' => 'bar'
)
);
$xml = new Document;
$xml->fromArray($myarray);
return $xml;
}
}Força o download da página gerada, você pode usar:
Response::download('page.html');No primeiro parâmetro você pode definir o nome que o arquivo vai receber no download
Você pode trocar usando o método Inphinit\Http\Response::status, por exemplo 403 Forbidden:
Response::status(403);Quando você usa o método Inphinit\App::stop, por exemplo:
<?php
namespace Controller;
use Inphinit\App;
use Inphinit\Http\Response;
class Examples
{
public function foo()
{
App::stop(403); //O que vier depois desta linha não será executado
Response::status(201); //Isto não será executado
View::render('myview'); //Isto não será executado
return 'Foo'; //Isto não será executado
}Este método executa o exit;
O Response::status(código), Response::putHeader('...', ..., código); e App::stop(código) disparam o evento changestatus, para interceptar o evento você pode usar:
App::on('changestatus', function ($code, $msg) {
//Algo aqui...
});Para mais detalhes veja Eventos
Inphinit the PHP Framework is writed using PSR-1, PSR-2 and PSR-4, you can use Controllers, Views, Routes
- Getting Started
- About
- Performance
- Directory Structure
- Constants
- Routing
- Controllers
- Views
- Events
- HTTP Response
- HTTP Request
- HTTP Redirect
- HTTP Content Negotiation
- Storage and Files
- Rest
- Maintenance
- Regular Expression
- Response Cache
- DOM, XML, HTML, JSON and Arrays
- QuerySelector (CSS-selectors) with PHP
- Configuration
- Instalação
- Sobre
- Desempenho
- Estrutura das pastas
- Constantes
- Rotas
- Usando Controllers
- Usando Views
- Eventos
- Resposta HTTP
- Requisição HTTP
- Redirecionamento HTTP
- Negociação de Conteúdo HTTP
- Armazenamento e Arquivos
- Usando Rest
- Manutenção
- Expressão Regular
- Cache Resposta
- DOM, XML, HTML, JSON e Arrays
- QuerySelector (seletores-CSS) com PHP
- Configuração