-
Notifications
You must be signed in to change notification settings - Fork 8
Usando Controllers
Nota: Esta documentação abrange o Inphinit 1.0. Para a documentação da versão 2.1, visite: https://inphinit.github.io/en/docs/controllers.html
Na pasta ./system/application/Controller/ você pode criar os seus Controllers, qualquer Controller requer o namespace Controller, por exemplo ./system/application/Controller/Example.php deve ficar assim:
<?php
namespace Controller;
class Examples
{
public function foo()
{
}
}Se o Controller estiver dentro de uma sub-pasta será necessário ajustar o namespace, por exemplo:
-
Se usar uma sub-pasta assim
./system/application/Controller/Foo/Bar.php:<?php namespace Controller\Foo; class Bar {
-
Se usar uma sub-pasta com mais niveis
./system/application/Controller/Dashboard/Admin/User.php:<?php namespace Controller\Dashboard\Admin; class User {
Os Controllers usam . (ponto) como delimitador/separador do namespace e : como delimitador do método/função da classe, por exemplo, para incluir o ./system/application/Controller/Example.php em uma rota você pode fazer assim:
Route::set('GET', '/foo', 'Example:method'); //o nome de Controller é case-sensitivePara incluir ./system/application/Controller/Foo/Bar.php em uma rota:
Route::set('GET', '/foo', 'Foo.Bar:method'); //O ponto separa tanto as rotas quanto o namespacePara incluir ./system/application/Controller/Dashboard/Admin/User.php em uma rota:
Route::set('GET', '/foo', 'Dashboard.Admin.User:method');No Controller você pode usar return para retornar uma resposta para o HTTP:
No main.php
Route::set('GET', '/foo', 'Example');No Controller:
<?php
namespace Controller;
class Examples
{
public function foo()
{
return 'Olá, Mundo!';
}
}E quando navegar para http://example/foo você irá obter:
Olá, Mundo!
Você pode usar View (o return não é necessário):
<?php
namespace Controller;
class Examples
{
public function foo()
{
View::render('myview'); //registra ./application/View/myview.php, nota: 'myview' é case-sensitive
}
}Mais detalhes em Views
Não use echo diretamente, por exemplo:
<?php
namespace Controller;
class Examples
{
public function foo()
{
echo 'Welcome!';
}
}As Views e os cabeçalhos HTTP são executados somente depois do App::exec (veja ./system/boot/start.php), se você usar echo não será possÃvel adicionar os headers, se deseja usar echo, print, var_dump, print_r você pode usar o evento ready:
<?php
namespace Controller;
use Inphinit\App;
class Examples
{
public function foo()
{
App::on('ready', function () {
echo 'Seja bem vindo!';
print_r(array(1, 2, 3));
});
}
}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