Escrevendo a primeira aplicação!
Vamos conhecer juntos o Nette Framework, criando um blog simples com comentários. Vamos lá!
Já após os dois primeiros capítulos teremos nosso próprio blog funcional e poderemos publicar nossos ótimos posts, embora as funções ainda sejam bastante limitadas. Você também deve ler os capítulos seguintes, onde programaremos a adição de comentários, edição de artigos e, finalmente, protegeremos o blog.
Este tutorial assume que você leu a página Instalação e preparou com sucesso as ferramentas necessárias. Também assume que você entende programação orientada a objetos em PHP.
Por favor, use PHP 8.1 ou mais recente. A aplicação completa pode ser encontrada no GitHub.
Página de boas-vindas
Comecemos criando um novo projeto no diretório nette-blog
:
composer create-project nette/web-project nette-blog
Neste ponto, a página inicial do Web Project já deve estar funcionando. Vamos testar abrindo o navegador no seguinte endereço URL:
http://localhost/nette-blog/www/
e veremos a página inicial do Nette Framework:

A aplicação funciona e você pode começar a fazer alterações.
Se ocorreu um problema, tente estas poucas dicas.
Conteúdo do Web Project
O Web Project tem a seguinte estrutura:
nette-blog/ ├── app/ ← diretório com a aplicação │ ├── Core/ ← classes básicas necessárias para o funcionamento │ ├── Presentation/ ← presenters, templates & cia. │ │ └── Home/ ← diretório do presenter Home │ └── Bootstrap.php ← classe de inicialização Bootstrap ├── bin/ ← scripts executados da linha de comando ├── config/ ← arquivos de configuração ├── log/ ← log de erros ├── temp/ ← arquivos temporários, cache, … ├── vendor/ ← bibliotecas instaladas pelo Composer │ └── autoload.php ← autoloading de todos os pacotes instalados └── www/ ← diretório público - o único acessível pelo navegador └── index.php ← arquivo inicial pelo qual a aplicação é iniciada
O diretório www/
destina-se ao armazenamento de imagens, arquivos JavaScript, estilos CSS e outros arquivos
publicamente acessíveis. Apenas este diretório é acessível pela internet, então configure o diretório raiz da sua
aplicação para apontar para cá (você pode configurar isso na configuração do Apache ou nginx, mas vamos fazer isso depois,
não é importante agora).
A pasta mais importante para nós é app/
. Aqui encontramos o arquivo Bootstrap.php
, que contém a
classe que serve para carregar todo o framework e configurar a aplicação. Ativa-se aqui o autoloading, configura-se o debugger e
as rotas.
Limpeza
O Web Project contém uma página inicial, que excluiremos antes de começarmos a programar algo. Portanto, sem medo,
substituiremos o conteúdo do arquivo app/Presentation/Home/default.latte
por “Olá mundo!”.

Tracy (debugger)
Uma ferramenta extremamente importante para o desenvolvimento é a ferramenta de
depuração Tracy. Tente provocar algum erro no arquivo app/Presentation/Home/HomePresenter.php
(por exemplo,
removendo uma chave na definição da classe HomePresenter) e veja o que acontece. Aparecerá uma página de notificação que
descreve o erro de forma compreensível.

O Tracy nos ajudará imensamente quando estivermos procurando erros na aplicação. Observe também a Barra Tracy flutuante no canto inferior direito da tela, que contém informações sobre a execução da aplicação.

No modo de produção, o Tracy é obviamente desativado e não exibe nenhuma informação sensível. Todos os erros neste caso
são armazenados na pasta log/
. Vamos experimentar. No arquivo app/Bootstrap.php
, descomente a seguinte
linha e altere o parâmetro da chamada para false
, para que o código fique assim:
...
$this->configurator->setDebugMode(false);
...
Após atualizar a página, não veremos mais o Tracy. Em vez disso, uma mensagem amigável ao usuário será exibida:

Agora, vejamos o diretório log/
. Aqui (no arquivo exception.log
) encontraremos o erro registrado e
também a já conhecida página com a mensagem de erro (salva como um arquivo HTML com um nome começando com
exception-
).
Comente novamente a linha // $configurator->setDebugMode(false);
. O Tracy ativa automaticamente o modo de
desenvolvimento no localhost e o desativa em todos os outros lugares.
Podemos corrigir o erro que criamos e continuar escrevendo a aplicação.
Envie um agradecimento
Mostraremos um truque que agradará os autores de código aberto. De forma simples, você pode dar uma estrela no GitHub às bibliotecas que seu projeto usa. Basta executar:
composer thanks
Experimente!