Ga naar de inhoud

Craft CMS Hard Mode

Deze tip komt uit de officiƫle Craft CMS Knowledge Base. Het zit wat verstopt in de upgradegids voor Craft CMS 4, maar is ook daarbuiten erg nuttig.

Waarom hard mode gebruiken?

In het controlepaneel van Craft CMS worden waarschuwingen weergegeven voor features, tags of queryparameters die in toekomstige updates niet meer zullen werken. Je kunt ook de debugbalk in de frontend inschakelen om deze waarschuwingen daar te zien. Deze waarschuwingen verschijnen echter pas achteraf, wanneer de code al geschreven is.

Met "hard mode" kun je deze deprecation warnings direct tijdens de ontwikkeling opvangen, alsof het fouten zijn die het proces stoppen. Deze proactieve aanpak helpt om technical debt te vermijden, houdt je codebase toekomstbestendig en voorkomt onaangename verrassingen tijdens updates.

Zie het als Craft CMS die verandert in je coach, die je in het gareel houdt terwijl je code schrijft!

Hard mode inschakelen

Om hard mode in te schakelen, voeg je de volgende code toe aan je config/app.php bestand:

use craft\helpers\App;

return [
  'components' => [
    'deprecator' => [
      // Throw exceptions on deprecation warnings
      'throwExceptions' => App::parseBooleanEnv('$HARD_MODE') ?? false,
    ],
  ],
];

Vergeet niet om de environment variable toe te voegen aan je .env bestand:

HARD_MODE=true

Het gebruik van een environment variable zorgt ervoor dat hard mode niet wordt ingeschakeld in productie. We willen namelijk geen fouten tonen in productieomgevingen wanneer de page eigenlijk nog perfect kan weergegeven worden. Deze instelling zorgt ervoor dat hard mode alleen actief is tijdens ontwikkeling.

Waarom dit handig is

  • Technical debt vermijden: Blijf veranderingen voor en zorg dat je codebase onderhoudbaar blijft.
  • Tijd besparen: Los problemen op tijdens ontwikkeling in plaats van tijdens een gehaaste update.
  • Team efficiĆ«ntie: Zorg dat alle ontwikkelaars waarschuwingen aanpakken voordat code wordt samengevoegd.

Hard mode inschakelen lijkt misschien streng, maar het maakt je ontwikkelproces soepeler en je project toekomstbestendig. Je code zal je later dankbaar zijn!