Conceitos
Core e ext
O framework e sua aplicação: dois repositórios, procurados primeiro em ext.
Um projeto Nimbly combina dois repositórios Git numa única árvore de pastas: o framework, e a sua aplicação dentro dele.
my-project/ framework repository (core)
core/ routes, templates, libraries and modules of the framework
css/ js/ sources of the default asset build
ext/ your application, a repository of its own
data/ resources and records
lib/ PHP libraries
modules/ packaged features
tpl/ reusable templates
uri/ routes
static/ built assets and static files
theme.css your styles
| Repositório | Contém | Pertence a |
|---|---|---|
| Framework | core/ e a configuração de build compartilhada |
Código aberto, licença ISC |
| Aplicação | ext/ |
Você, sob a licença que escolher |
Os repositórios têm históricos, branches e remotes próprios. git status na raiz do projeto mostra as mudanças no framework; git -C ext status mostra as suas.
Primeiro ext, depois core
Todo template, biblioteca, rota, módulo e arquivo estático é procurado primeiro em ext/, depois em core/. Isso dá a você três maneiras de trabalhar com o framework:
- Acrescentar. Um arquivo novo em
ext/fica ao lado do framework: uma rota, um template, uma biblioteca, um tipo de campo. - Substituir. Um arquivo em
ext/com o mesmo caminho de um arquivo emcore/é usado no lugar dele. Substitua um template da shell da página, uma tela do admin ou um arquivo estático, e mantenha o resto. - Deixar como está. O que seu projeto não substitui vem do core e melhora a cada atualização.
Por exemplo:
| Arquivo em ext | Efeito |
|---|---|
ext/tpl/html/stylesheets.tpl |
Suas próprias folhas de estilo em toda shell de página |
ext/static/favicon.svg |
Seu ícone no lugar do padrão |
ext/uri/health/index.tpl |
Sua própria resposta para o health check |
ext/agents/nimbly/project.md |
Contexto do site para o agente integrado, que mantém sua definição do core |
O próprio core nunca é editado para um projeto. Uma mudança de que toda aplicação Nimbly precisa pertence ao framework; uma mudança para uma aplicação pertence a ext/.
Atualizações
Um projeto roda o core atual: não há versões do framework para fixar, o commit é a versão. Faça pull do core para atualizar; seu ext/ não é tocado. Uma atualização do core nunca reescreve arquivos gerados como o .htaccess, então ./nimbly system:repair informa onde um site mais antigo difere de uma instalação nova, e aplica as mudanças com --yes. Veja Atualizações.
Leia a seguir
- Ciclo de vida de uma requisição: como uma requisição encontra sua rota.
- Seu próprio HTML: substituir a shell da página, em parte ou por inteiro.
- Módulos: empacotar uma funcionalidade dentro de
ext/.