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 em core/ é 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

Ver esta página em Markdown