Concepten

Core en ext

Het framework en je applicatie: twee repositories, eerst in ext gezocht.

Een Nimbly-project combineert twee Git-repositories in één mappenstructuur: het framework, en je applicatie daarin.

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
Repository Bevat Eigendom van
Framework core/ en de gedeelde build-opzet Open source, ISC-licentie
Applicatie ext/ Jou, onder de licentie die je kiest

De repositories hebben elk hun eigen geschiedenis, branches en remotes. git status in de hoofdmap van het project toont wijzigingen aan het framework; git -C ext status toont de jouwe.

Eerst ext, dan core

Elke template, library, route, module en elk statisch bestand wordt eerst in ext/ gezocht, daarna in core/. Dat geeft je drie manieren om met het framework te werken:

  • Toevoegen. Een nieuw bestand in ext/ staat naast het framework: een route, een template, een library, een veldtype.
  • Vervangen. Een bestand in ext/ met hetzelfde pad als een bestand in core/ wordt in plaats daarvan gebruikt. Vervang één template van de pagina-shell, één adminscherm of één statisch bestand, en houd de rest.
  • Laten staan. Wat je project niet vervangt, komt uit core en wordt beter met elke update.

Bijvoorbeeld:

Bestand in ext Effect
ext/tpl/html/stylesheets.tpl Je eigen stylesheets in elke pagina-shell
ext/static/favicon.svg Je eigen icoon in plaats van het standaardicoon
ext/uri/health/index.tpl Je eigen antwoord op de health check
ext/agents/nimbly/project.md Context over de site voor de ingebouwde agent, die zijn core-definitie houdt

Core zelf wordt nooit aangepast voor één project. Een wijziging die elke Nimbly-applicatie nodig heeft, hoort in het framework; een wijziging voor één applicatie hoort in ext/.

Updates

Een project draait de actuele core: er zijn geen frameworkversies om vast te zetten, de commit is de versie. Pull core om bij te werken; je ext/ blijft onaangeroerd. Een core-update herschrijft nooit gegenereerde bestanden zoals .htaccess, dus ./nimbly system:repair meldt waar een oudere site afwijkt van een nieuwe installatie, en past de wijzigingen toe met --yes. Zie Updates.

Verder lezen

Bekijk deze pagina als Markdown