Nocterra biedt een application programming interface (API) die op elke pagina kan worden gebruikt. De Nocterra API bevat functies om de gegenereerde webpagina's eenvoudig te verrijken en aan te passen, per pagina. Deze documentatie is zowel een gebruikershandleiding voor contentschrijvers als voor ontwikkelaars die de gegenereerde inhoud willen verrijken en taken zoals SEO willen uitvoeren.
Het API-naslagwerk is niet compleet; het is een voortdurende inspanning om de API te documenteren en voorbeelden te geven van het gebruik van de functies. Zie ook de Nocterra Handleiding voor een beschrijving van de functionele principes en uitgebreidere voorbeelden.
addKeywords(array|string $newKeywords): void
addKeywords(array|string $keywords, array|string $newKeywords): void
Voeg nieuwe zoekwoorden toe aan de zoekwoorden die al voor de huidige pagina zijn ingesteld.
Of voeg nieuwe zoekwoorden toe aan de gegeven zoekwoorden en stel deze nieuwe zoekwoorden in voor de huidige pagina.
Beide varianten van de functie voegen geen nieuwe zoekwoorden toe aan de zoekwoorden die al aanwezig zijn. Dus als u deze functie aanroept zoals addKeywrds('foo', 'bar'); op een pagina die al het zoekwoord foo
heeft, wordt alleen het zoekwoord bar
toegevoegd.
De trefwoorden waaraan nieuwe trefwoorden moeten worden toegevoegd. Dit kan een door komma's gescheiden lijst met trefwoorden zijn of een array met trefwoorden.
De nieuwe trefwoorden die moeten worden toegevoegd. Dit kan een door komma's gescheiden lijst met trefwoorden zijn of een array met trefwoorden.
Deze functie retourneert geen waarde.
addMenuItem(
String $menuItem,
string $language,
string $link,
string $name
): void
Voeg een item toe aan het menu in de opgegeven taal. Menu-items worden opgegeven door hun structuur in het menu. foo
zou het foo
-menu op het hoogste niveau zijn. foo/bat
zou het bar
-submenu zijn als een kind van het foo
-menu.
Voor meertalige websites kan een menu worden toegevoegd voor elke taal. Wanneer een taal geen menu-item heeft toegevoegd voor de $menuItem
tijdens het genereren van de URL, wordt er een URL gegenereerd naar het diepste menu-item dat aanwezig is in die taal, hetzij door het te definiëren in de configuratie of door deze functie toe te voegen.
Als er eerder een menu-item is toegevoegd voor $menuItem
, worden de link
en name
overschreven, andere ingestelde waarden blijven behouden.
Het menu-item dat u wilt toevoegen als een door slashes gescheiden lijst.
De taal waarvoor een menu-item word toegevoegd.
De lokale of externe uRL waarnaar gelinkt word.
De naam die in de navigatie en het broodkruimelpad word weergegeven.
Deze functie retourneert geen waarde.
addScript(
string $script,
string $type = 'text/javascript'
): void
Voeg een JavaScript-resource toe aan de huidige pagina. Deze functie is bedoeld voor pagina-specifieke toevoegingen wanneer een script niet site-breed ingeschakeld moet worden.
Site-brede scripts worden meestal in site.php geconfigureerd (bijvoorbeeld als onderdeel van de standaardconfiguratie, of binnen een specifieke $variants[...]-entry). Gebruik addScript() wanneer u een extra script alleen voor de huidige pagina of een specifiek template wilt opnemen.
De waarde script
is de URL/het pad dat door de pagina-renderer als <script>-include wordt opgenomen, met het opgegeven type
.
De script-URL (of het script-pad) dat aan de huidige pagina wordt toegevoegd.
Het MIME-type voor het type-attribuut; standaard text/javascript
.
Er wordt geen waarde geretourneerd.
addStylesheet(
string $stylesheet,
string $type = 'text/css'
): void
Voeg een stylesheetresource toe aan de huidige pagina. Deze functie is bedoeld voor pagina-specifieke toevoegingen wanneer een stylesheet niet site-breed ingeschakeld moet worden.
Site-brede stylesheets worden meestal in site.php geconfigureerd (bijvoorbeeld als onderdeel van de standaardconfiguratie, of binnen een specifieke $variants[...]-entry). Gebruik addStylesheet() wanneer u een extra stylesheet alleen voor de huidige pagina of een specifiek template wilt opnemen.
De waarde stylesheet
is de URL/het pad dat door de pagina-renderer als stylesheet-include wordt opgenomen, met het opgegeven type
.
De stylesheet-URL (of het stylesheet-pad) dat aan de huidige pagina wordt toegevoegd.
Het MIME-type voor het type-attribuut; standaard text/css
.
Er wordt geen waarde geretourneerd.
blogGetArtcleUrl(
array $article,
string $language = NULL,
string $scheme = NULL
): mixed
Genereer de artikel-URL op basis van de URL-scheme zoals geconfigureerd in site.php. Dit is nuttig voor addons en custom indexes die naar artikelen willen linken zonder de URL-structuur van artikelen hard te coderen.
De parameter article
verwacht een artikel-entry zoals die wordt teruggegeven door de blog TOC/index API. Een gebruikelijk patroon is om een gesorteerde TOC-sectie op te halen en over de entries te itereren:
$sortedToc = &blogGetSortedTOCCache('year', $year);
foreach ($sortedToc['entries'] as &$entry) {
$url = blogGetArtcleUrl($entry, $language);
}
De scheme is een template string met keywords zoals {year}
, {month0}
, {title}
, {category}
en {author}
. De functie vult deze placeholders met velden uit de artikel-entry en retourneert het resulterende URL-pad.
Artikel-entry zoals geleverd door de blog TOC/index functies (bijvoorbeeld een entry uit blogGetSortedTOCCache()).
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Optionele URL-scheme string. Wanneer NULL wordt de standaardscheme uit site.php gebruikt voor de taal.
Retourneert de gegenereerde URL-pad string, of FALSE wanneer de scheme niet kan worden verwerkt.
blogGetArticleDescription(array &$article, string $language): string
Retourneer een geschikte artikelbeschrijving voor de gevraagde taal. Dit wordt vaak gebruikt voor metadata (bijvoorbeeld Open Graph/SEO descriptions) en voor het tonen van korte samenvattingen in artikelindexes.
De parameter article
verwacht een artikel-entry zoals die wordt teruggegeven door de blog TOC/index API. Een gebruikelijk patroon is om een gesorteerde TOC-sectie op te halen en over de entries te itereren:
$sortedToc = &blogGetSortedTOCCache('year', $year);
foreach ($sortedToc['entries'] as &$entry) {
echo '<P>' . blogGetArticleDescription($entry, $language) . '</P>' . PHP_EOL;
}
Als er een expliciete beschrijving in de artikeldata staat voor de taal, wordt die teruggegeven. Anders leidt de functie een beschrijving af uit de artikelbody door de eerste paragraaf te nemen, comments en markup te strippen, whitespace te normaliseren en het resultaat vervolgens te beperken tot ongeveer 300 tekens (waarbij zoveel mogelijk op zinsgrenzen wordt afgekapt). De afgeleide beschrijving wordt in de artikelstructuur gecachet voor hergebruik binnen dezelfde request.
Deze functie laadt benodigde artikelonderdelen on-demand.
Artikelstructuur zoals gebruikt door het blogsysteem. Dit is doorgaans een entry uit blogGetSortedTOCCache().
Taalcode waarvoor de beschrijving wordt opgehaald/gegenereerd.
Retourneert de beschrijvingstekst.
blogGetAuthorDef(string $author, string $language = NULL, bool $create = TRUE): mixed
Retourneer de auteur-definitie voor een bepaalde auteur en taal. Auteur-definities komen uit de blogconfiguratie in site.php en kunnen metadata bevatten voor indexes en structured data (bijvoorbeeld type/naam/pagina/relatie-templates).
Als een auteur niet expliciet is gedefinieerd en create
TRUE is, maakt Nocterra een default-definitie aan op basis van de generieke auteur-TOC-instellingen. Hiermee kunnen addons en pagina’s veilig auteur-metadata opvragen zonder de geconfigureerde auteurslijst hard te coderen.
Auteur-key/naam.
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Wanneer TRUE wordt er een default-definitie aangemaakt als deze nog niet bestaat.
Retourneert de auteur-definitie array, of NULL wanneer niet gevonden en create
FALSE is.
blogGetAuthorList(): array
Retourneer de blog-auteurslijst zoals bekend bij het blogsysteem. Dit kan worden gebruikt door addons en pagina’s die auteur-navigatie, indexes of metadata genereren.
De lijst wordt lazy geladen en binnen dezelfde request hergebruikt.
Deze functie heeft geen parameters.
Retourneert de auteurslijst.
blogGetAuthorRDFAMeta(
array $authorDef,
string $object = 'author',
bool $meta = TRUE,
string $name = NULL
): string
Genereer RDFa markup voor een auteurdefinitie. Dit wordt gebruikt om gestructureerde auteur-metadata op te nemen in artikeloutput en indexes (bijvoorbeeld voor zoekmachines en rich previews).
Wanneer de auteurdefinitie een paginareferentie bevat, wordt de URL geresolved via langLink(). Als de auteurdefinitie via at een organisatie/werkgever koppelt, wordt aanvullende geneste RDFa gegenereerd.
Auteurdefinitie (bijvoorbeeld van blogGetAuthorDef()).
RDFa object/property naam (standaard author
).
Wanneer TRUE wordt een meta-georiënteerd RDFa blok gegenereerd; wanneer FALSE inline RDFa markup.
Optionele weergegeven naam wanneer meta
FALSE is.
Retourneert het gegenereerde RDFa HTML-fragment.
blogGetAuthorUrl(string $author = NULL, string $language = NULL): string
Retourneer de URL voor de auteurindex (of een specifieke auteur) zoals geconfigureerd in site.php. Dit is nuttig voor auteurnavigatie en auteurgebaseerde artikelindexes in pagina’s en addons.
Wanneer u niet zeker weet of een auteur in de blogconfiguratie bestaat, roep eerst blogGetAuthorDef() aan zodat er een veilige default-definitie beschikbaar is.
Auteur-key/naam. Wanneer NULL wordt de root van de auteurindex teruggegeven.
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Retourneert de resulterende auteur-URL.
blogGetCategoryDef(string $category, string $language = NULL, bool $create = TRUE): mixed
Retourneer de categorie-definitie voor een bepaalde categorie en taal. Categorie-definities komen uit de blogconfiguratie in site.php en kunnen metadata bevatten voor artikel-typing en structured data (bijvoorbeeld RDFa/type defaults) en voor TOC/index-templates.
Als een categorie niet expliciet is gedefinieerd en create
TRUE is, maakt Nocterra een default-definitie aan op basis van de generieke categorie-TOC-instellingen. Hierdoor kunnen addons en pagina’s veilig categorie-metadata opvragen.
Categorie-key/naam.
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Wanneer TRUE wordt er een default-definitie aangemaakt als deze nog niet bestaat.
Retourneert de categorie-definitie array, of NULL wanneer niet gevonden en create
FALSE is.
blogGetCategoryList(): array
Retourneer de blog-categorielijst zoals bekend bij het blogsysteem. Dit wordt vaak gebruikt om categorie-navigatie of categoriegebaseerde indexes te maken (bijvoorbeeld “laatste berichten in categorie X”).
De lijst wordt lazy geladen en binnen dezelfde request hergebruikt.
Deze functie heeft geen parameters.
Retourneert de categorielijst.
blogGetCategoryUrl(string $category = NULL, string $language = NULL): string
Retourneer de URL voor de categorie-index (of een specifieke categorie) zoals geconfigureerd in site.php. Dit is nuttig voor categorienavigatie en categoriegebaseerde artikelindexes in pagina’s en addons.
Wanneer u niet zeker weet of een categorie in de blogconfiguratie bestaat, roep eerst blogGetCategoryDef() aan zodat er een veilige default-definitie beschikbaar is.
Categorie-key/naam. Wanneer NULL wordt de root van de categorie-index teruggegeven.
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Retourneert de resulterende categorie-URL.
blogGetLatestYear(): mixed
Retourneer het meest recente jaar uit de blog-jaarlijst, of NULL wanneer er geen jaren beschikbaar zijn. Dit wordt vaak gebruikt als default selectie voor “huidig jaar” artikelindexes.
Deze functie heeft geen parameters.
Retourneert het nieuwste jaar, of NULL wanneer niet beschikbaar.
blogGetSortedTOCCache(
string $tocType,
string $filterSection,
string $orderby = '-%published% -%seq% %title%'
): array
Retourneer een gesorteerde TOC-cache-sectie, bedoeld voor het bouwen van eigen artikelindexes (bijvoorbeeld “laatste 4 artikelen in categorie X” of “artikelen van jaar Y”). De geretourneerde structuur bevat entries én dependency-informatie zodat page caching correct kan blijven: een pagina kan gecachet worden, maar wordt alsnog ongeldig wanneer de onderliggende blog-indexbronnen wijzigen.
Het resultaat is een gestructureerde array met o.a.:
entries: de TOC-entries (artikel-entries geschikt voor sorteren en linken),
dependencies: dependency-paden voor cache-invalidation,
cachefile en cachefileTime: het TOC-cachebestand en de timestamp daarvan.
Sortering wordt bepaald door orderby
. De standaard sorteert newest-first op publicatiedatum, daarna sequence, daarna titel.
Veelvoorkomende keys in elke entry
Elk element in $sortedToc['entries'] is een artikel-entry (array). De exacte set kan verschillen per configuratie en TOC-type, maar onderstaande keys komen veel voor en zijn de keys waarop sorteren/linken is gebaseerd:
Scalare velden (één waarde):
published (Unix timestamp)
year, month, month0, date, date0
week, week0
seq (volgnummer/ordering binnen een datum)
author (auteur-key/naam)
category (categorie-key/naam)
Lijstvelden:
tags (array met tag-keys; vaak gebruikt als $entry['tags'][0] voor eenvoudige sortering)
Gelokaliseerde tekstvelden (per taalcode):
title[lang]
title_prefix[lang] en title_postfix[lang] (optioneel)
description[lang] (optioneel; kan veilig worden afgeleid via blogGetArticleDescription())
keywords[lang] / keyword[lang] (optioneel)
Mediavelden (optioneel; in sommige setups per taal):
image[lang] of image
Praktische aandachtspunten:
Gebruik blogGetArticleDescription($entry, $language) wanneer u een veilige beschrijving wilt tonen of gebruiken voor metadata, omdat niet elke entry een expliciete description bevat.
Gebruik blogGetArtcleUrl($entry, $language) om de artikel-URL te genereren; ga niet uit van een vaste URL-structuur.
Gebruik isset() bij het uitlezen van optionele keys.
De %keyword%
-namen die u in orderby
gebruikt corresponderen direct met deze entry-keys (bijvoorbeeld %published%
, %seq%
, %title%
, %tag%
, %description%
).
TOC/cache-type die gebruikt wordt (bijvoorbeeld een lijst/index-type dat door het blogsysteem wordt bijgehouden).
Sectie- of filterkey waarmee de subset wordt gekozen (bijvoorbeeld categorie/jaar/tag selectie, afhankelijk van tocType).
Sorteerspecificatie met één of meer %keyword%
-velden met optionele +
/-
prefix voor oplopend/aflopend sorteren.
Retourneert de gesorteerde TOC-cache-structuur.
blogGetTagDef(string $tag, string $language = NULL, bool $create = TRUE): mixed
Retourneer de tag-definitie voor een bepaalde tag en taal. Tag-definities komen uit de blogconfiguratie in site.php en bevatten TOC/index-template-instellingen die worden gebruikt bij het bouwen van tagpagina’s en taggebaseerde lijsten.
Als een tag niet expliciet is gedefinieerd en create
TRUE is, maakt Nocterra een default-definitie aan op basis van de generieke tag-TOC-instellingen. Hiermee kunnen addons en pagina’s veilig tag-metadata opvragen zonder de geconfigureerde taglijst hard te coderen.
Tag-key/naam.
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Wanneer TRUE wordt er een default-definitie aangemaakt als deze nog niet bestaat.
Retourneert de tag-definitie array, of NULL wanneer niet gevonden en create
FALSE is.
blogGetTagList(): array
Retourneer de blog-taglijst zoals bekend bij het blogsysteem. Dit wordt vaak gebruikt voor tag-navigatie of taggebaseerde indexes.
De lijst wordt lazy geladen en binnen dezelfde request hergebruikt.
Deze functie heeft geen parameters.
Retourneert de taglijst.
blogGetTagUrl(string $tag = NULL, string $language = NULL): string
Retourneer de URL voor de tagindex (of een specifieke tag) zoals geconfigureerd in site.php. Dit is nuttig voor tagnavigatie en taggebaseerde artikelindexes in pagina’s en addons.
Wanneer u niet zeker weet of een tag in de blogconfiguratie bestaat, roep eerst blogGetTagDef() aan zodat er een veilige default-definitie beschikbaar is.
Tag-key/naam. Wanneer NULL wordt de root van de tagindex teruggegeven.
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Retourneert de resulterende tag-URL.
blogGetYearDef(int $year, string $language = NULL, bool $create = TRUE): mixed
Retourneer de jaar-definitie voor een bepaald jaar en taal. Jaar-definities komen uit de blogconfiguratie in site.php (TOC-titels/templates/order-instellingen). Als een jaar niet expliciet is gedefinieerd en create
TRUE is, maakt Nocterra een default-definitie aan op basis van de generieke jaar-TOC-instellingen.
Hiermee kunnen addons en pagina’s veilig jaar-metadata opvragen zonder te hoeven weten of een specifiek jaar vooraf is geconfigureerd.
De jaar-key.
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Wanneer TRUE wordt er een default-definitie aangemaakt als deze nog niet bestaat.
Retourneert de jaar-definitie array, of NULL wanneer niet gevonden en create
FALSE is.
blogGetYearList(): array
Retourneer de lijst met jaren die bij het blogsysteem bekend zijn. Dit wordt vaak gebruikt voor jaarnavigatie of jaargebaseerde indexes in addons en dynamische pagina’s.
De lijst wordt lazy geladen en binnen dezelfde request hergebruikt.
Deze functie heeft geen parameters.
Retourneert de jaarlijst.
blogGetYearUrl(int $year = NULL, string $language = NULL): string
Retourneer de URL voor de jaarindex (of een specifiek jaar) zoals geconfigureerd in site.php. Dit is nuttig voor jaarnavigatie en jaargebaseerde artikelindexes in pagina’s en addons.
Wanneer u niet zeker weet of een jaar in de blogconfiguratie bestaat, roep eerst blogGetYearDef() aan zodat er een veilige default-definitie beschikbaar is.
Het jaar waarnaar gelinkt wordt. Wanneer NULL wordt de root van de jaarindex teruggegeven.
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Retourneert de resulterende jaar-URL.
blogHeading(
int $level,
string $heading,
string $attributes = ''
): string
Genereer een heading-tag voor blogoutput op basis van het geconfigureerde top header level. Hierdoor blijven headings consistent op blogpagina’s en in addons, zonder absolute H1.. H6-niveaus hard te coderen.
Heading-niveau relatief t.o.v. het blog “top header level”. Niveau 1 mapt naar het geconfigureerde topniveau.
Headingtekst/HTML-inhoud.
Optionele ruwe attribute string die aan de <H*>-tag wordt toegevoegd (bijvoorbeeld id="intro"
).
Retourneert de gegenereerde HTML-heading string.
cacheAddDependency(mixed $dependency): void
Registreer pagina-level dependencies voor de huidige request. Dependencies zijn contentbronnen die de gerenderde output beïnvloeden. Door deze vast te leggen kan Nocterra later bepalen of een cache-entry nog geldig is door modification times te vergelijken.
Dit is nuttig voor pagina’s of addons die auto-gegenereerde content bevatten die niet per request verandert (bijvoorbeeld “laatste 5 blogartikelen”), omdat de pagina cacheable kan blijven maar alsnog ongeldig wordt wanneer de onderliggende bronnen wijzigen.
Eén dependency-pad (string) of een lijst met dependency paden (array) waar de output van de huidige pagina van afhankelijk is.
Er wordt geen waarde geretourneerd.
cacheAddSystemDependency(mixed $dependency): void
Registreer één of meer “system dependencies” voor cachevalidatie. System dependencies zijn bestanden die de gegenereerde output voor veel pagina’s kunnen beïnvloeden (bijvoorbeeld kernlogica, routing, addons of gedeelde databronnen). Wanneer een system dependency wijzigt, kan gecachete output verouderd zijn, ook als de paginabronbestanden zelf niet zijn veranderd.
Deze functie legt van elke dependency de modification time (mtime) vast en bewaart daarnaast de meest recente system-dependency tijd voor de huidige runtime. Cachevalidatie kan vervolgens een cache-timestamp vergelijken met deze “latest system dependency time” via cacheCheckSystemDependencies().
Deze API is vooral bedoeld voor interne cachelogica, maar addon-ontwikkelaars kunnen dit gebruiken wanneer een addon afhankelijk is van externe bestanden waarvan wijzigingen de cache moeten invalidaten.
Eén dependency-bestandspad (string) of een lijst met dependency-bestandspaden (array). Paden zijn relatief aan de Nocterra-installatiemap.
Er wordt geen waarde geretourneerd.
cacheCheckSystemDependencies(int $cachedDataTime): mixed
Valideer gecachete data tegen de geregistreerde system dependencies. Als een system dependency recenter is gewijzigd dan cachedDataTime
, moet de cache als verouderd worden beschouwd.
Bij succes wordt TRUE geretourneerd. Bij falen wordt een leesbare string geretourneerd die aangeeft welke dependency is geüpdatet. Daardoor is de functie bruikbaar voor zowel beslislogica als diagnostische logging.
De timestamp van de gecachete data die wordt gevalideerd.
Retourneert TRUE wanneer geldig; anders een string met de reden van invalidatie.
cacheEntryCreate(
string $url,
int $cachedDataTime,
string $contents,
mixed $alternateUrls = NULL,
int $maxage = -1,
int $response = 200,
int $redirect = REDIRECT_PERMANENT
): void
Maak een page cache entry (en optioneel alternate URL entries) in de Nocterra content cache onder /cache/. Deze functie wordt vooral gebruikt door Nocterra’s cachelogica, maar geavanceerde addons kunnen dit inzetten voor gecontroleerde caching flows.
Het wegschrijven naar de cache wordt bewust overgeslagen wanneer caching voor de request is uitgeschakeld (bijvoorbeeld via cacheNever()) of wanneer er tijdens paginageneratie een error/exception is opgetreden. In die gevallen kan Nocterra de pagina wel normaal renderen, maar wordt de output niet persistent opgeslagen.
De cache entry bevat:
de dependency-lijst die voor de request is vastgelegd,
cache max-age metadata,
response/redirect metadata,
en de pagina-inhoud.
Wanneer alternateUrls
is opgegeven, schrijft Nocterra ook alternate cache entries die naar de canonieke URL verwijzen met het opgegeven redirect-type.
De canonieke URL/pad-key voor de cache-entry.
Timestamp die aan de cache-entry wordt toegekend (gebruikt voor validatie/ordering).
De pagina-inhoud die u wilt opslaan.
Optionele lijst met alternatieve URLs die naar de canonieke URL moeten wijzen (bijvoorbeeld legacy routes). Wanneer opgegeven maakt Nocterra lightweight cache entries voor deze alternatieven.
Cache max-age waarde die door Nocterra’s cachelogica wordt gebruikt. -1 betekent “standaard / niet gespecificeerd”.
HTTP-responsecode die bij deze cache-entry hoort (200 voor normale content).
Redirect-statuscode die wordt gebruikt bij het schrijven van alternate URL cache entries (standaard permanent).
Er wordt geen waarde geretourneerd.
cacheGetLatestSystemDependencyTime(): int
Retourneer de meest recente modification time (mtime) van alle geregistreerde system dependencies voor de huidige runtime. Deze timestamp wordt gebruikt om te bepalen of gecachete data nog actueel is.
Deze functie heeft geen parameters.
Retourneert een Unix timestamp (mtime).
cacheGetSystemDependencies(): array
Retourneer de momenteel geregistreerde system-dependency lijst voor deze runtime. Dit is vooral bedoeld voor debugging en interne cachelogica.
Deze functie heeft geen parameters.
Retourneert de system-dependency lijst.
cacheModuleDataCreate(
string $module,
int $cachedDataTime,
string $cacheName,
mixed &$data
): bool
Maak of overschrijf een module-specifiek data-cachebestand onder /cache/<module>/. Hiermee kunnen addons hun eigen gecachete data beheren (conceptueel vergelijkbaar met de article cache), terwijl de normale page cache onafhankelijk blijft.
De functie zorgt dat de benodigde cachemappen bestaan, schrijft de geserializeerde data naar het module-cachebestand en zet de modification time van zowel het cachebestand als de directory op cachedDataTime
.
Deze API is vooral bedoeld voor interne cachelogica, maar kan worden gebruikt door addons die stabiele afgeleide data genereren (bijvoorbeeld indexes, lijsten, lookups) die niet bij iedere request opnieuw berekend hoeven te worden.
Unieke module/addon identifier die als subdirectory onder /cache/ wordt gebruikt.
Timestamp die aan het cachebestand wordt toegekend (gebruikt voor validatie/ordering).
Cachebestandsnaam binnen de module-cachemap. Subdirectories kunnen worden gebruikt door /
op te nemen.
Datastructuur die u wilt opslaan. De waarde wordt geserializeerd voordat deze wordt weggeschreven.
Retourneert TRUE bij succes, of FALSE bij falen.
cacheNever(): void
Schakel content-caching uit voor de huidige request. Dit is bedoeld voor pagina’s die per bezoeker verschillen of vaak wijzigen, zoals portalen, dashboards, contactformulieren, of pagina’s die dynamische fragmenten bevatten die door addons worden gegenereerd.
Wanneer caching is uitgeschakeld, rendert Nocterra de pagina nog steeds normaal, maar wordt het wegschrijven van de gegenereerde output naar de contentcache overgeslagen. Dit voorkomt dat verouderde of bezoeker-specifieke output later uit cache wordt geserveerd.
Caching kan ook automatisch worden uitgeschakeld wanneer er tijdens het genereren van de pagina een error of exception optreedt. Debug-/logoutput kan statusindicatoren bevatten waaruit blijkt dat caching is uitgeschakeld.
Deze functie heeft geen parameters.
Er wordt geen waarde geretourneerd.
cacheValid(int $cachedDataTime, array $dependencies): mixed
Valideer gecachete data tegen zowel pagina-level dependencies als system dependencies.
Pagina-level dependencies zijn doorgaans contentbronnen die de gerenderde output beïnvloeden (bijvoorbeeld paginabronbestanden, included fragmenten of gegenereerde indexes). Als een dependency-bestand is verwijderd of een nieuwere modification time heeft dan cachedDataTime
, dan is de cache ongeldig en wordt een beschrijvende string geretourneerd.
Wanneer alle pagina-level dependencies geldig zijn, valideert de functie ook tegen system dependencies via cacheCheckSystemDependencies().
Deze API wordt vaak gebruikt door cachelogica om te bepalen of een cache-entry nog geserveerd kan worden, terwijl pagina’s met auto-gegenereerde content (die niet per request verandert) cacheable kunnen blijven met correct invalidatiegedrag.
De timestamp van de gecachete data die wordt gevalideerd.
Een lijst met pagina-level dependency paden waar de cache-entry van afhankelijk is.
Retourneert TRUE wanneer geldig; anders een string met de reden van invalidatie.
convertException(Exception $exception): string
Zet een exception (inclusief een keten van eerdere exceptions) om naar een leesbare stringweergave. De output bevat de exception class en melding, gevolgd door een geformatteerde stack trace via convertStackTrace(). Als de exception eerdere exceptions heeft, worden deze achter elkaar toegevoegd als Caused by
-secties.
Deze functie kan PHP-standaardhelpers gebruiken die pas in nieuwere PHP-releases beschikbaar zijn. Nocterra levert interne fallbacks om compatibel te blijven met oudere PHP-versies.
De exception die u wilt omzetten naar een string.
Retourneert de geformatteerde exception string.
convertStackTrace(
array $stack,
string $file,
mixed $line,
string $prefix = ''
): string
Zet een stack trace array om naar een compacte, leesbare string. Deze functie wordt door Nocterra gebruikt voor debug- en errorrapportage om traces weer te geven in logoutput en in de debug-footer wanneer debugmodus is ingeschakeld.
Deze functie kan PHP-standaardhelpers gebruiken die pas in nieuwere PHP-releases beschikbaar zijn. Nocterra levert interne fallbacks om compatibel te blijven met oudere PHP-versies.
Een stack trace array, meestal afkomstig van debug_backtrace() of een exception trace.
Het startbestand dat bij de trace hoort.
De startregel die bij de trace hoort.
Optionele prefix die voor elke geformatteerde traceregel wordt geplaatst.
Retourneert de geformatteerde stack trace string.
currentPageLink(
string $language = NULL,
bool $strict = FALSE,
bool $return = FALSE
): mixed
Schrijf of retourneer de URL van de huidige pagina voor een opgegeven taal. Dit is een helper voor content writing, gebaseerd op getPathMenuItem(), en wordt vaak gebruikt bij het genereren van links naar de huidige pagina (bijvoorbeeld in templates).
Er is een nieuwer, meer automatisch mechanisme dat href- en src-attributen in pagina-inhoud kan herschrijven op basis van configuratie in site.php, maar currentPageLink() blijft nuttig voor dynamische output en addon/template-code.
De doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Wanneer TRUE wordt een exacte resolutie voor de doeltaal afgedwongen; wanneer FALSE is loose resolutie toegestaan.
Wanneer TRUE retourneert de functie de linkstring. Wanneer FALSE wordt output direct geschreven wanneer output-bufferingmodus is ingeschakeld.
Retourneert de URL-string wanneer return
TRUE is; anders schrijft de functie de URL naar de output (wanneer output-bufferingmodus is ingeschakeld).
debugException(
Exception $exception,
string $message = NULL
): void
Schrijf een exception als debugmelding. Deze functie formatteert de exception met convertException() en geeft deze door aan debugMessage().
Debug-output wordt alleen verzameld wanneer Nocterra debugmodus is ingeschakeld (aangestuurd via PHP display_errors; in productie uit laten). Wanneer debugmodus aan staat, wordt de melding toegevoegd aan het debug-footerblok en ook naar de PHP error log geschreven.
De exception die u wilt rapporteren.
Optionele extra melding. Wanneer weggelaten wordt de exceptiontekst gebruikt.
Er wordt geen waarde geretourneerd.
debugMessage(
string $message,
mixed $value = NULL
): void
Schrijf een debugmelding voor de huidige request. Debug-output is bedoeld voor ontwikkelaars en gevorderde sitebeheerders bij het onderzoeken van onverwacht gedrag en kan zeer uitgebreid worden.
Debugmeldingen worden alleen verzameld wanneer Nocterra debugmodus is ingeschakeld (aangestuurd via PHP display_errors; in productie hoort dit altijd uit te staan). Wanneer debugmodus aan staat, voegt Nocterra een debug-footerblok toe aan het einde van elke pagina met verzamelde meldingen en geselecteerde response-headers, en worden meldingen ook naar de PHP error log geschreven.
Elke debugregel begint met korte statusindicatoren:
<O> geeft aan dat output-bufferingmodus actief is, en <D> geeft aan dat de pagina in een “dynamische” modus wordt gerenderd waarbij gecachte statische output kan worden gecombineerd met runtime-gegenereerde fragmenten (vaak door addons). Deze indicatoren helpen bij het interpreteren van cache- en rendergedrag.
Als value
is opgegeven, wordt deze in één regel toegevoegd met var_export().
De debugtekst.
Optionele waarde die aan de melding wordt toegevoegd met var_export().
Er wordt geen waarde geretourneerd.
debugTrace(string $message): void
Schrijf een debug stack trace voor de huidige request. De trace wordt opgebouwd met debug_backtrace() en geformatteerd met convertStackTrace().
Debug traces worden alleen verzameld wanneer Nocterra debugmodus is ingeschakeld (aangestuurd via PHP display_errors; in productie uit laten). Wanneer debugmodus aan staat, wordt de trace toegevoegd aan het debug-footerblok en ook naar de PHP error log geschreven.
Elke debugregel begint met korte statusindicatoren: <O> geeft aan dat output-bufferingmodus actief is, en <D> geeft aan dat de pagina in “dynamische” modus wordt gerenderd.
Optioneel label voor de trace-output. De stack trace wordt altijd toegevoegd.
Er wordt geen waarde geretourneerd.
debugVar(
string $name,
mixed $value,
bool $singleline = FALSE
): void
Schrijf een debugmelding met een named variable dump. Dit is een convenience wrapper rond debug-output met var_export().
Debugmeldingen worden alleen verzameld wanneer Nocterra debugmodus is ingeschakeld (aangestuurd via PHP display_errors; in productie uit laten). Wanneer debugmodus aan staat, worden meldingen toegevoegd aan het debug-footerblok en ook naar de PHP error log geschreven.
Elke debugregel begint met korte statusindicatoren: <O> geeft aan dat output-bufferingmodus actief is, en <D> geeft aan dat de pagina in “dynamische” modus wordt gerenderd.
De naam/label die in de melding wordt opgenomen.
De waarde die met var_export() wordt weergegeven.
Wanneer TRUE wordt de geëxporteerde waarde tot één regel samengevoegd; wanneer FALSE wordt de volledige var_export()-output gebruikt.
Er wordt geen waarde geretourneerd.
dieException(
Exception $exception,
string $message = NULL
): void
Breek het genereren van de pagina af vanwege een exception. De exception wordt geformatteerd met convertException() en doorgegeven aan dieMessage().
De exception die de abort veroorzaakt.
Optionele extra melding. Wanneer weggelaten wordt de exceptiontekst gebruikt.
Er wordt geen waarde geretourneerd; de functie breekt de uitvoering af.
dieMessage(
string $message,
int $responseCode = 500,
bool $cacheErrors = FALSE
): void
Breek het genereren van de pagina af en verstuur een HTTP-errorresponse. De functie markeert de request als “error encountered” en (wanneer message
niet leeg is) logt een FATAL
- of ERROR
-regel naar de PHP error log.
Wanneer Nocterra debugmodus is ingeschakeld (aangestuurd via PHP display_errors; in productie uit laten), wordt de errormelding ook verzameld voor het debug-footerblok. Daarnaast legt de functie de tot dan toe gegenereerde output vast als debugregel, maakt de outputbuffer leeg en verstuurt vervolgens de opgegeven HTTP-responsecode.
Als cacheErrors
TRUE is, wordt een expliciete cache-entry aangemaakt met de tot dan toe gegenereerde output en de responsecode. Dit is bedoeld voor diagnostiek en moet met zorg worden gebruikt.
Omdat er een error/exception is opgetreden, wordt normale content-caching doorgaans uitgeschakeld voor de request.
De fatal/error-melding die u wilt vastleggen. Wanneer leeg wordt geen melding gelogd.
De HTTP-responsecode die wordt verstuurd; standaard 500.
Wanneer TRUE wordt een cache-entry aangemaakt met de tot dan toe gegenereerde output (voor debugging/diagnostiek). Wanneer FALSE wordt geen error-cache-entry aangemaakt.
Er wordt geen waarde geretourneerd; de functie breekt de uitvoering af.
expandDynamicPair(string $text): string
Expand dynamische placeholders in tekst door alle sleutels te vervangen die voorkomen in de runtime dynamic-pair tabel. Dit mechanisme wordt vooral gebruikt door addons en interne rendering om request-specifieke (dynamische) fragmenten in verder statische (gecachete) content te verweven, vlak voordat deze naar de browser wordt gestuurd.
De vervangingsmapping wordt beheerd via setDynamicPair() en kan worden gecontroleerd met hasDynamicPair()/getDynamicPair().
Invoertekst die dynamische placeholder-sleutels kan bevatten.
Retourneert de tekst met ge-expande dynamic pairs.
format_bytes(
int $size,
int $precision = 2
): string
Formatteer een aantal bytes naar een leesbare waarde met SI-achtige suffixen (kB
, MB
, GB
, ...). De waarde wordt geschaald in machten van 1024 en afgerond met de opgegeven precisie.
Wanneer size
nul of negatief is, wordt 0 B
geretourneerd.
De grootte in bytes.
Het aantal decimalen; standaard 2.
Retourneert de geformatteerde waarde inclusief unitsuffix.
format_datetime(
mixed $time = NULL,
string $formatDate = FORMAT_SHORT,
string $formatTime = FORMAT_SHORT
): string
Formatteer een gecombineerde datum- en tijdwaarde met de huidige taalinstellingen uit site.php. Het datumformaat (date_s/date_m/date_l) en tijdformaat (time_s/time_m/time_l) worden gekozen uit de actieve taalconfiguratie, met een spatie samengevoegd, en verwerkt via format_sdatetime().
Gebruik deze functie wanneer u een gelokaliseerde datum+tijd-weergave wilt die de ingestelde siteformaten volgt.
De tijd die u wilt formatteren. Wanneer NULL wordt de huidige tijd gebruikt. Meestal een Unix-timestamp.
Detailniveau voor de datum. Gebruik FORMAT_SHORT (s
), FORMAT_MEDIUM (m
) of FORMAT_LONG (l
). Het datumformaat komt uit de taalconfiguratie in site.php (bijvoorbeeld date_s, date_m, date_l).
Detailniveau voor de tijd. Gebruik FORMAT_SHORT (s
), FORMAT_MEDIUM (m
) of FORMAT_LONG (l
). Het tijdformaat komt uit de taalconfiguratie in site.php (bijvoorbeeld time_s, time_m, time_l).
Retourneert de geformatteerde datum/tijd-string.
format_date(
mixed $time = NULL,
string $format = FORMAT_SHORT
): string
Formatteer een datumwaarde met de huidige taalinstellingen uit site.php. De opmaakstring wordt gekozen uit de actieve taalconfiguratie (date_s, date_m, of date_l) en wordt verwerkt via format_sdatetime().
Gebruik deze functie wanneer u een gelokaliseerde datumweergave wilt die de ingestelde siteformaten volgt.
De tijd die u wilt formatteren. Wanneer NULL wordt de huidige tijd gebruikt. Meestal een Unix-timestamp.
Detailniveau van de output. Gebruik FORMAT_SHORT (s
), FORMAT_MEDIUM (m
) of FORMAT_LONG (l
). Het gekozen formaat komt uit de taalconfiguratie in site.php (bijvoorbeeld date_s, date_m, date_l).
Retourneert de geformatteerde datumstring.
format_dayname(
mixed $time = NULL,
bool $uc = FALSE,
string $language = NULL
): string
Retourneer de gelokaliseerde dagnaam voor een gegeven tijdstip. De taal/locale wordt afgeleid uit de siteconfiguratie: wanneer language
NULL is wordt de huidige locale gebruikt; anders wordt de locale van de opgegeven taal gebruikt.
Wanneer de PHP Intl-extensie beschikbaar is, gebruikt de functie IntlDateFormatter met het patroon EEEE om de volledige dagnaam op te halen. Wanneer Intl niet beschikbaar is, schakelt de functie tijdelijk de process-locale om en gebruikt strftime('%A') als fallback.
De vlag uc
bepaalt de kapitalisatie van de geretourneerde dagnaam: TRUE geeft een hoofdletter als eerste teken, FALSE geeft een kleine letter als eerste teken.
De tijd die u wilt formatteren. Wanneer NULL wordt de huidige tijd gebruikt. Meestal een Unix-timestamp.
Wanneer TRUE wordt de dagnaam geretourneerd met een hoofdletter; wanneer FALSE wordt de eerste letter omgezet naar een kleine letter.
Optionele taalsleutel om in te formatteren. Wanneer NULL wordt de huidige sitetaal gebruikt.
Retourneert de gelokaliseerde dagnaam.
format_monthname(
mixed $time = NULL,
bool $uc = FALSE,
string $language = NULL
): string
Retourneer de gelokaliseerde maandnaam voor een gegeven tijdstip. De taal/locale wordt afgeleid uit de siteconfiguratie: wanneer language
NULL is wordt de huidige locale gebruikt; anders wordt de locale van de opgegeven taal gebruikt.
Wanneer de PHP Intl-extensie beschikbaar is, gebruikt de functie IntlDateFormatter met het patroon MMMM om de volledige maandnaam op te halen. Wanneer Intl niet beschikbaar is, schakelt de functie tijdelijk de process-locale om en gebruikt strftime('%B') als fallback.
De vlag uc
bepaalt de kapitalisatie van de geretourneerde maandnaam: TRUE geeft een hoofdletter als eerste teken, FALSE geeft een kleine letter als eerste teken.
De tijd die u wilt formatteren. Wanneer NULL wordt de huidige tijd gebruikt. Meestal een Unix-timestamp.
Wanneer TRUE wordt de maandnaam geretourneerd met een hoofdletter; wanneer FALSE wordt de eerste letter omgezet naar een kleine letter.
Optionele taalsleutel om in te formatteren. Wanneer NULL wordt de huidige sitetaal gebruikt.
Retourneert de gelokaliseerde maandnaam.
format_sdatetime(
string $formatStr,
mixed $time = NULL
): string
Formatteer een datum/tijd-string door Nocterra-placeholders te vervangen. Deze functie vervangt tokens in formatStr
door waarden die uit time
worden afgeleid.
Placeholders hebben één van deze vormen:%X
waarbij X
één letter is (bijvoorbeeld %Y
), of %keyword%
waarbij keyword
een alfanumerieke identifier is (bijvoorbeeld %year%
).
Ondersteunde placeholders (aliassen tussen haakjes):
year (%year%
, %Y
)
week (%week%
, %W
) als integer, week0 (%week0%
, %V
) met voorloopnul
month (%month%
) als integer, month0 (%month0%
, %m
) met voorloopnul
month_name (%month_name%
, %B
) volledige maandnaam, Month_name (%Month_name%
) met hoofdletter
month_abbr (%month_abbr%
, %b
) retourneert momenteel ook de volledige maandnaam (geen aparte afkorting), Month_abbr (%Month_abbr%
) met hoofdletter
date (%date%
, %e
) als integer, date0 (%date0%
, %d
) met voorloopnul, date_ord (%date_ord%
) ordinaal (Engels)
day (%day%
, %A
) volledige dagnaam, Day (%Day%
) met hoofdletter
isodate (%isodate%
) ISO 8601 datum/tijd
hour (%hour%
, %k
) 0-23, hour0 (%hour0%
, %H
) met voorloopnul
hour12 (%hour12%
, %l
) 1-12, hour012 (%hour012%
, %I
) met voorloopnul
ampm (%ampm%
, %P
) am/pm, AMPM (%AMPM%
, %p
) AM/PM
minutes (%minutes%
, %M
)
seconds (%seconds%
, %S
)
tz (%tz%
, %Z
) timezone-offset in seconden
Onbekende placeholders blijven onveranderd en er wordt een logbericht geschreven.
test
test
De datum/tijd-opmaakstring met placeholders die worden vervangen.
De tijd die u wilt formatteren. Wanneer NULL wordt de huidige tijd gebruikt. Meestal een Unix-timestamp.
Retourneert de geformatteerde string.
format_time(
mixed $time = NULL,
string $format = FORMAT_SHORT
): string
Formatteer een tijdwaarde met de huidige taalinstellingen uit site.php. De opmaakstring wordt gekozen uit de actieve taalconfiguratie (time_s, time_m, of time_l) en wordt verwerkt via format_sdatetime().
Gebruik deze functie wanneer u een gelokaliseerde tijdweergave wilt die de ingestelde siteformaten volgt.
De tijd die u wilt formatteren. Wanneer NULL wordt de huidige tijd gebruikt. Meestal een Unix-timestamp.
Detailniveau van de output. Gebruik FORMAT_SHORT (s
), FORMAT_MEDIUM (m
) of FORMAT_LONG (l
). Het gekozen formaat komt uit de taalconfiguratie in site.php (bijvoorbeeld time_s, time_m, time_l).
Retourneert de geformatteerde tijdstring.
getCurrentPath(
string $language = NULL,
bool $strict = FALSE
): string
Retourneer het huidige paginapad voor een opgegeven taal, op basis van het menu en de taal-mapping in site.php. Dit is een convenience wrapper rond getPathMenuItem('.') die een string retourneert.
Wanneer strict
is ingeschakeld, wordt strict resolutie gebruikt en kan de functie FALSE retourneren wanneer er geen vertaald equivalent bestaat voor de gevraagde taal.
De doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Wanneer TRUE wordt een exacte resolutie voor de doeltaal afgedwongen; wanneer FALSE is loose resolutie toegestaan.
Retourneert het resolved huidige pad als string (of FALSE wanneer strict resolutie faalt).
getCurrentPathURL(
string $language = NULL,
bool $strict = FALSE
): string
Retourneer de URL van de huidige pagina voor een opgegeven taal, op basis van het menu en de taal-mapping in site.php. Dit is een convenience wrapper rond getPathMenuItem('.') die een URL-vorm string retourneert, geschikt voor links en SEO-metadata.
Wanneer strict
is ingeschakeld, wordt strict resolutie gebruikt en kan de functie FALSE retourneren wanneer er geen vertaald equivalent bestaat voor de gevraagde taal.
De doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Wanneer TRUE wordt een exacte resolutie voor de doeltaal afgedwongen; wanneer FALSE is loose resolutie toegestaan.
Retourneert de resolved URL van de huidige pagina als string (of FALSE wanneer strict resolutie faalt).
getDynamicPair(
string $key,
mixed $coalesce = NULL
): mixed
Haal een dynamic-pair waarde op op basis van een sleutel, met een optionele fallback. Dit wordt vooral gebruikt door addons en templates die de huidige dynamic-pair mapping voor de request willen uitlezen.
Let op: de huidige implementatie retourneert coalesce
wanneer de sleutel bestaat, en retourneert NULL wanneer deze niet bestaat. Als het bedoelde gedrag is “retourneer de waarde wanneer aanwezig, anders coalesce”, dan moet de voorwaarde worden omgedraaid.
De dynamic-pair sleutel die u wilt ophalen.
Fallbackwaarde die wordt gebruikt wanneer de sleutel niet bestaat.
Retourneert de ingestelde waarde of de fallback, afhankelijk van de implementatie.
getLocalGlobalMeta(string $name): mixed
Bepaal de effectieve meta-waarde door de globale standaardwaarden uit site.php te combineren met eventuele pagina-lokale overrides, volgens het scopebeleid dat is ingesteld in $environment. Globale standaardwaarden staan doorgaans in $branding (per taal), terwijl pagina-lokale overrides meestal door het actieve paginatemplate worden ingesteld.
Bijvoorbeeld: op blogartikelpagina’s (en blog-indexpagina’s) leidt blog.php meta-waarden af uit de artikeldefinitie en context (titel, beschrijving, afbeelding, auteur, categorie, tags, trefwoorden, en type) en past deze toe via setArticleMeta(). Templates kunnen lokale meta ook expliciet instellen of overschrijven via API-functies zoals setTitle(), setDescription() en setKeywords().
Het combinatiegedrag wordt gestuurd door $environment[name]:local retourneert de lokale waarde wanneer die is gezet; anders de globale waarde.prepend plaatst de lokale waarde vóór de globale waarde wanneer beide aanwezig zijn en verschillen. Voor de meeste velden komt de separator uit $environment[name . 'Separator'] (standaard ,
). Voor keywords
worden waarden samengevoegd met addKeywords(local, global).extend plaatst de lokale waarde achter de globale waarde wanneer beide aanwezig zijn en verschillen. Voor keywords
worden waarden samengevoegd met addKeywords(global, local).
Als er geen lokale waarde is ingesteld (of er geen regel van toepassing is), wordt de globale waarde geretourneerd.
De naam van het meta-veld dat u wilt bepalen op basis van de siteconfiguratie (bijvoorbeeld title
, description
, keywords
, author
).
Retourneert de effectieve waarde na toepassing van het ingestelde local/global-scopebeleid.
getLocalGlobalSeparator(string $name): string
Haal de separator op die wordt gebruikt bij het combineren van lokale en globale waarden voor een bepaald meta-veld. De separator wordt in site.php geconfigureerd via $environment[name . 'Separator'].
Wanneer er geen separator is ingesteld (of de ingestelde waarde leeg is), wordt de standaardseparator ,
(komma + spatie) geretourneerd.
Deze separator wordt gebruikt door functies zoals getLocalGlobalMeta() bij het toepassen van scopemodi zoals prepend of extend voor niet-keyword velden.
De basisnaam van de separator-instelling. De functie leest $environment[name . 'Separator'] uit site.php.
Retourneert de ingestelde separator, of ,
wanneer deze niet is ingesteld.
getLocalizedPath(
string $resource,
string $language = NULL,
int $mode = 0
): string
Resolveer resource
naar een gelokaliseerde link voor een specifieke taal op basis van de configuratie in site.php. Dit is een convenience wrapper rond getPathMenuItem() die altijd een string retourneert.
Gebruik dit wanneer u het vertaalde pad voor een menu-item of pagina in een specifieke taal nodig heeft.
De resource/het pad dat u wilt resolveren.
De doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Optionele mode-flags voor getPathMenuItem(). Het resultaat wordt altijd als string teruggegeven.
Retourneert de resolved linkstring (of FALSE in strict mode wanneer het doel niet kan worden geresolved).
getLocalMeta(string $name): mixed
Haal een meta-waarde op met een pagina-lokale override. Nocterra maakt onderscheid tussen globale standaardwaarden (meestal ingesteld in site.php) en pagina-lokale waarden die voor de huidige pagina worden toegepast.
Pagina-lokale waarden worden meestal door het actieve paginatemplate ingesteld. Op blogpagina’s leidt het template bijvoorbeeld meta-waarden af uit de artikeldefinitie en past deze toe via functies zoals setArticleMeta(). Een template (of een paginascript) kan ook expliciet een lokale waarde instellen via API-functies zoals setTitle(), setDescription() en setKeywords().
Als er voor name
een lokale waarde is ingesteld en deze niet leeg is, wordt deze geretourneerd. Anders retourneert de functie de globale standaardwaarde voor dat veld. Als geen van beide is ingesteld, wordt een lege string geretourneerd.
De naam van het meta-veld dat u wilt ophalen. De functie controleert eerst de pagina-lokale waarde voor dat veld en valt daarna terug op de globale standaardwaarde uit site.php.
Retourneert de pagina-lokale waarde indien aanwezig; anders de globale standaardwaarde; anders een lege string.
getPathMenuItem(
mixed $path,
string $language = NULL,
int $mode = 0
): mixed
Resolveer een resource/pad op basis van de menu-mapping en taalconfiguratie in site.php. Deze functie vormt de basis voor o.a. taalwisselaars, breadcrumbs, canonical URL metadata en veilige linkgeneratie in zowel statische pagina’s als addons.
Overzicht van retourvormen
Het retourtype hangt af van:
Of language
een taalcode is of NULL (alle talen)
Of PATH_ASSTRING is gezet (string vs gestructureerde array)
Of PATH_COMPONENTS is gezet (eindresultaat vs per-niveau componenten)
String-retour (PATH_ASSTRING)
1a) language
is een taalcode:
Retourneert een string URL/pad (of FALSE wanneer strict mode faalt).
Voorbeeld:
"documentatie/handleiding"
1b) language
is NULL (alle talen):
Retourneert een associatieve array met taalcode => URL/pad (of FALSE per taal in strict mode).
Voorbeeld:
array(
'en' => 'documentation/manual',
'nl' => 'documentatie/handleiding'
)Gestructureerde retour (standaard; zonder PATH_ASSTRING)
Deze vorm retourneert een metadata-array. De belangrijkste keys zijn:
links
taalcode: string URL/pad (of FALSE bij strict failure)
language NULL: array(lang => string|FALSE)
names
taalcode: string|NULL
language NULL: array(lang => string|NULL)
titles
taalcode: string|NULL
language NULL: array(lang => string|NULL)
nearest
Alleen relevant in strict mode.
Als een vertaling niet kan worden geresolved en PATH_STRICT is gezet:
links wordt FALSE
nearest kan het dichtstbijzijnde resolveerbare parent-pad bevatten
(string, of array(lang => string) wanneer language NULL is)
hidden, nolink, robots, rdfa, type, variant
Metadata die tijdens het traversen uit de menustructuur wordt overgenomen; de eindwaarden zijn de effectieve settings van het doel.
Voorbeeld (één taal, niet-strict):
array(
'links' => 'documentatie/handleiding',
'names' => 'handleiding',
'titles' => 'Handleiding',
'nearest' => NULL,
'hidden' => NULL,
'nolink' => NULL,
'robots' => NULL,
'rdfa' => NULL,
'type' => NULL,
'variant' => NULL
)
Voorbeeld (alle talen):
array(
'links' => array(
'en' => 'documentation/manual',
'nl' => 'documentatie/handleiding'
),
'names' => array(
'en' => 'manual',
'nl' => 'handleiding'
),
'titles' => array(
'en' => 'Manual',
'nl' => 'Handleiding'
),
'nearest' => NULL,
...
)Component-lijst (PATH_COMPONENTS)
Wanneer PATH_COMPONENTS is gezet, retourneert de functie een array met één element per doorlopen padniveau.
Elk element is:
een gestructureerde component-array (zoals in sectie 2), of
een string (wanneer gecombineerd met PATH_ASSTRING)
Deze vorm is bedoeld voor breadcrumbs en vergelijkbare UI.
Voorbeeld (conceptueel):
array(
0 => array('links' => 'documentatie', ...),
1 => array('links' => 'documentatie/handleiding', ...)
)URL-placeholder opmerking (PATH_URL/PATH_CANONICALURL)
Wanneer URL-mode is ingeschakeld en de link geen externe URL is (://
), retourneert Nocterra een placeholder zoals:
<!--nocterra-currentdomain-base-nl-->documentatie/handleiding
Deze placeholder wordt later expanded naar een volledige URL voor het huidige of canonieke domein.
Pad dat u wilt resolveren. Dit kan een string zijn (bijvoorbeeld documentatie/handleiding
, /documentatie/handleiding
, #fragment
, .
) of een array met padcomponenten.
Doeltaalcode. Wanneer NULL resolveert de functie voor alle geconfigureerde talen en retourneert per-taal resultaten.
Bitmask die strictness en outputvorm bepaalt. Combineer:
PATH_STRICT Vereis dat vertalingen bestaan; anders FALSE voor missende talen.
PATH_COMPONENTS Retourneer tussentijdse padcomponenten i.p.v. alleen het eindresultaat.
PATH_URL Wrap interne paden als URL-placeholders voor latere domeinexpansie.
PATH_CANONICALURL Zoals PATH_URL maar met canonical-domain placeholder.
PATH_ASSTRING Retourneer link(s) als string(s) i.p.v. gestructureerde array.
PATH_EXPAND Expand dynamic pairs in het resultaat.
PATH_SILENT Onderdruk URL-generation debug logging.
Retourneert een string, een gestructureerde array of een component-lijst afhankelijk van language
en mode
.
getUniqueId(string $template = '', string $source = ''): string
Genereert een unieke id voor de huidige pagina-render op basis van de opgegeven template, en registreert deze in $GLOBALS['page_ids'] om duplicaten te voorkomen.
Als de template al in gebruik is wordt een oplopende numerieke suffix toegevoegd volgens het formaat "<template>-<n>" totdat een vrije id is gevonden.
De source-waarde wordt samen met de id opgeslagen voor debugdoeleinden, zodat zichtbaar is waar een id is aangemaakt.
Basis-id; als leeg wordt "id" gebruikt. De template wordt genormaliseerd met stringToId().
Optioneel debuglabel van de aanroeper; als leeg wordt een aanroeperlabel afgeleid (bijv. via debugGetCallerFunction()).
Retourneert de gegenereerde unieke id.
hasDynamicPair(string $key = NULL): bool
Controleer of dynamic pairs beschikbaar zijn. Zonder sleutel retourneert dit of de dynamic-pair tabel entries bevat. Met een sleutel retourneert dit of die sleutel bestaat.
Dit wordt meestal gebruikt door addons of templates om te bepalen of er voor de huidige request expansion nodig is.
Optionele dynamic-pair sleutel om te testen. Wanneer NULL test de functie of er überhaupt dynamic pairs gedefinieerd zijn.
Retourneert TRUE wanneer aan de voorwaarde is voldaan; anders FALSE.
imageTitled(
string $resource,
string $alt,
string $title,
string $class = '',
string $language = '',
bool $return = FALSE
): mixed
Genereer een <IMG>-element voor een resource, inclusief zowel het alt- als het title-attribuut. De src-URL wordt opgebouwd volgens de site-URL/linkregels (via noLangLink()), zodat het juiste base path wordt gebruikt ongeacht de locatie van de huidige pagina.
Deze helper is bedoeld voor contentschrijvers en templates. De functie kan de gegenereerde HTML-string retourneren of direct naar de output schrijven, afhankelijk van return
en de huidige outputmodus.
Het afbeeldingsresource-pad/de URL.
De alternatieve tekst (het alt-attribuut).
De tooltiptekst (het title-attribuut).
Optionele CSS-class(es) voor het class-attribuut.
Optionele taalcodering voor het lang-attribuut.
Wanneer TRUE retourneert de functie de gegenereerde HTML-string. Wanneer FALSE wordt output direct geschreven wanneer output-bufferingmodus is ingeschakeld.
Retourneert de gegenereerde HTML-string wanneer return
TRUE is; anders wordt de HTML naar de output geschreven (wanneer output-bufferingmodus is ingeschakeld).
image(
string $resource,
string $alt,
string $class = '',
string $language = '',
bool $return = FALSE
): mixed
Genereer een <IMG>-element voor een resource met een alt-attribuut. De src-URL wordt opgebouwd volgens de site-URL/linkregels (via noLangLink()), zodat het juiste base path wordt gebruikt ongeacht de locatie van de huidige pagina.
Deze helper is bedoeld voor contentschrijvers en templates. De functie kan de gegenereerde HTML-string retourneren of direct naar de output schrijven, afhankelijk van return
en de huidige outputmodus.
Het afbeeldingsresource-pad/de URL.
De alternatieve tekst (het alt-attribuut).
Optionele CSS-class(es) voor het class-attribuut.
Optionele taalcodering voor het lang-attribuut.
Wanneer TRUE retourneert de functie de gegenereerde HTML-string. Wanneer FALSE wordt output direct geschreven wanneer output-bufferingmodus is ingeschakeld.
Retourneert de gegenereerde HTML-string wanneer return
TRUE is; anders wordt de HTML naar de output geschreven (wanneer output-bufferingmodus is ingeschakeld).
langLink(
string $resource,
string $language = NULL,
bool $return = FALSE,
bool $expand = FALSE
): mixed
Resolveer resource
naar een taalspecifieke URL op basis van het menu en de taal-mapping in site.php, en schrijf of retourneer die URL. Deze helper wordt vaak gebruikt in contentpagina’s en templates om correcte gelokaliseerde links te genereren.
Er is een nieuwer, meer automatisch mechanisme dat href- en src-attributen in pagina-inhoud kan herschrijven op basis van configuratie in site.php, maar langLink() blijft nuttig voor dynamische output en addon/template-code.
De resource/het pad dat u wilt resolveren.
De doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Wanneer TRUE retourneert de functie de URL-string. Wanneer FALSE wordt output direct geschreven wanneer output-bufferingmodus is ingeschakeld.
Wanneer TRUE worden dynamische placeholders in de gegenereerde URL expanded.
Retourneert de URL-string wanneer return
TRUE is; anders schrijft de functie de URL naar de output (wanneer output-bufferingmodus is ingeschakeld).
logException(
Exception $exception,
string $message = NULL
): void
Log een exception naar de PHP error log. De exception wordt geformatteerd met convertException() en gelogd via logMessage(). Wanneer debugmodus aan staat wordt de melding ook toegevoegd aan het debug-footerblok.
De exception die u wilt loggen.
Optionele extra melding. Wanneer weggelaten wordt de exceptiontekst gebruikt.
Er wordt geen waarde geretourneerd.
logMessage(
string $message,
string $tag = 'Log: '
): void
Schrijf een logmelding naar de PHP error log. In tegenstelling tot debugfuncties wordt logging altijd naar de error log geschreven, ongeacht debugmodus.
Wanneer Nocterra debugmodus is ingeschakeld (aangestuurd via PHP display_errors; in productie uit laten), worden logmeldingen ook verzameld en toegevoegd aan het debug-footerblok onderaan de pagina. Wanneer debugmodus uit staat, wordt de melding wel gelogd maar niet in de pagina-footer opgenomen.
Elke logregel begint met korte statusindicatoren: <O> geeft aan dat output-bufferingmodus actief is, en <D> geeft aan dat de pagina in “dynamische” modus wordt gerenderd.
De melding die u wilt loggen.
Een prefix-tag voor de logregel (bijvoorbeeld Log:
of ERROR:
).
Er wordt geen waarde geretourneerd.
noLangLink(
string $resource,
bool $return = FALSE,
bool $expand = FALSE
): mixed
Resolveer resource
naar een URL op basis van de huidige paginataal en de menu-mapping in site.php, en schrijf of retourneer die URL. Dit is een convenience wrapper die links resolveert in de context van de huidige paginataal (dus zonder taalwissel), ook voor taal-onafhankelijke resources zoals afbeeldingen, scripts en stylesheets.
Er is een nieuwer, meer automatisch mechanisme dat href- en src-attributen in pagina-inhoud kan herschrijven op basis van configuratie in site.php, maar noLangLink() blijft nuttig voor dynamische output en addon/template-code.
De resource/het pad dat u wilt resolveren.
Wanneer TRUE retourneert de functie de URL-string. Wanneer FALSE wordt output direct geschreven wanneer output-bufferingmodus is ingeschakeld.
Wanneer TRUE worden dynamische placeholders in de gegenereerde URL expanded.
Retourneert de URL-string wanneer return
TRUE is; anders schrijft de functie de URL naar de output (wanneer output-bufferingmodus is ingeschakeld).
redirect(
mixed $path,
string $language = NULL,
mixed $type = REDIRECT_INTERNAL
): void
Redirect de paginageneratie naar een ander pad en/of een andere taal. Deze functie wordt door Nocterra-routing, templates en addons gebruikt om bezoekers naar de juiste pagina te sturen, canonieke paden af te dwingen, of oude URLs door te sturen.
Er zijn twee redirect-modi:
Interne redirect (REDIRECT_INTERNAL) herrouteert de request binnen Nocterra zonder een HTTP-redirectresponse naar de client te sturen. Dit wordt meestal gebruikt wanneer Nocterra besluit een andere pagina te renderen dan oorspronkelijk werd aangevraagd (bijvoorbeeld canonicalisatie of interne routingbeslissingen).
HTTP-redirect (REDIRECT_PERMANENT / REDIRECT_TEMPORARY) instrueert de client om naar de nieuwe locatie te navigeren met de opgegeven HTTP-statuscode. Dit wordt vaak gebruikt voor SEO-vriendelijke permanente redirects of tijdelijke flows (bijvoorbeeld onderhoud).
Een aanroep van redirect() breekt verdere verwerking van de huidige pagina af.
Doelpad waarheen u wilt redirecten. Dit kan een stringpad zijn (bijvoorbeeld documentatie/handleiding
of /documentatie/handleiding
) of een array met padcomponenten.
Doeltaalcode. Wanneer NULL wordt de huidige paginataal gebruikt.
Redirect-type. Gebruik:REDIRECT_INTERNAL voor een interne redirect (standaard),REDIRECT_PERMANENT (301) voor een permanente HTTP-redirect,REDIRECT_TEMPORARY (307) voor een tijdelijke HTTP-redirect.
Er wordt geen waarde geretourneerd; de functie breekt de uitvoering af.
setArticleMeta(
string $title,
string $description,
mixed $image,
string $author,
string $category,
mixed $tags,
string $keywords,
string $type = 'BlogPosting'
): void
Stel meerdere meta-velden voor een artikel in met één aanroep. Deze functie werkt de branding/meta-velden bij voor de huidige pagina zodat deze als artikel wordt beschreven, waaronder content type, titel, beschrijving, trefwoorden, auteur, categorie en tags.
Als image
niet NULL is, wordt ook de site-afbeelding bijgewerkt. Wanneer image
NULL is, blijft de bestaande site-afbeelding ongewijzigd.
De artikeltitel die voor de huidige pagina wordt ingesteld.
De artikelbeschrijving die voor de huidige pagina wordt ingesteld.
Optionele afbeelding voor de site/het artikel; als NULL blijft de huidige waarde behouden.
De auteursnaam die voor het huidige artikel wordt ingesteld.
De categorienaam die voor het huidige artikel wordt ingesteld.
De tags die voor het huidige artikel worden ingesteld; meestal een array met tag-strings.
De trefwoorden-string die voor de huidige pagina wordt ingesteld.
Het schema.org-type voor het artikel; standaard BlogPosting
.
Er wordt geen waarde geretourneerd.
setContentSecurityPolicy(
string $directive,
string $value
): void
Stel een Content Security Policy (CSP) directive in of overschrijf deze voor de huidige pagina. Nocterra verzamelt CSP-instellingen uit de siteconfiguratie (meestal in site.php) en kan waar nodig pagina-specifieke overrides toepassen.
Deze functie accepteert de standaard CSP-directivenamen en mapt deze naar de sleutels die Nocterra in de configuratie gebruikt. Zo wordt script-src
opgeslagen onder scripts
, style-src
onder styles
, en img-src
onder images
. De opgegeven value
wordt opgeslagen voor die directive en door de pagina-renderer meegenomen bij het genereren van de CSP-header.
De Content-Security-Policy-directive die u wilt instellen. Standaard CSP-directivenamen worden geaccepteerd (bijvoorbeeld script-src
, style-src
, img-src
) en worden gemapt naar Nocterra’s interne CSP-sleutels.
De waarde die op de directive wordt toegepast (bijvoorbeeld een source list zoals 'self' https://example.org
).
Er wordt geen waarde geretourneerd.
setCookieNocterra(
string $name,
string $value,
mixed $expire_or_options = 0,
string $path = '',
bool $secure = FALSE,
bool $httponly = FALSE
): bool
Stel een cookie in met het cookiedomein dat voor het huidige domein in site.php is geconfigureerd. Deze helper zorgt ervoor dat cookies consistent op het juiste cookiedomein worden gescope’d wanneer een site onder meerdere domeinen of domeinvarianten wordt aangeboden.
Alle parameters worden doorgegeven aan PHP setcookie(), met als uitzondering dat het cookiedomein uit de configuratie van het huidige domein wordt gehaald.
De cookienaam.
De cookiewaarde.
Expiratietijd of options-parameter, wordt doorgegeven aan PHP setcookie().
Cookiepad; standaard een lege string.
Wanneer TRUE wordt de cookie alleen via HTTPS verstuurd.
Wanneer TRUE is de cookie niet toegankelijk via JavaScript (HTTP-only).
Retourneert TRUE bij succes, of FALSE bij falen.
setDescription(string $description): void
Stelt de metabeschrijving in voor de huidige pagina. Deze beschrijving wordt gebruikt voor SEO, als tekst wanneer mensen naar de pagina linken in Facebook en voor Twitter-kaarten.
De in te stellen omschrijving.
Deze functie retourneert geen waarde.
setDynamicPair(
string $key,
string $value,
bool $expand = FALSE
): void
Definieer of overschrijf een dynamic pair voor de huidige request. Dynamic pairs worden gebruikt om request-specifieke output in statische (gecachete) content te injecteren door placeholders in de gecachete HTML te plaatsen en die vlak voor het versturen van de response te vervangen.
Wanneer expand
TRUE is, wordt de opgegeven waarde eerst ge-expande met de huidige dynamic-pair tabel. Dit maakt het mogelijk dynamische waarden op te bouwen uit andere dynamic pairs.
De placeholder-sleutel die u instelt (de tekst die vervangen wordt).
De vervangingswaarde voor de sleutel.
Wanneer TRUE worden bestaande dynamic pairs binnen value
eerst ge-expande voordat deze wordt opgeslagen.
Er wordt geen waarde geretourneerd.
setEpilogue(string $epilogue): void
setEpilogue(string $epilogue, string $location): void
Stelt de epiloog in voor de huidige pagina.
Een epiloog is een door de gebruiker gedefinieerd stuk HTML dat aan het einde van een pagina-element wordt ingevoegd. Het wordt ingevoegd na de inhoud die door Nocterra wordt gegenereerd.
De locatieparameter specificeert na welk element op de pagina de epiloog wordt ingevoegd. Als deze niet wordt gespecificeerd, staat deze aan het einde van de paginabody.
De in de pagina te zettem epiloog.
De locatie op de pagina waar de epiloog moet worden geplaatst.
Deze functie retourneert geen waarde.
setKeywords(string $keywords): void
Stelt (overschrijft) de keywords van de huidige pagina.
De in te stellen keywords.
Deze functie retourneert geen waarde.
setMenuItem(
string $menuItem,
string $attribute,
mixed $value
): void
Stel een attribuut in op een bestaand menu-item, of maak de menu-structuur aan als deze nog niet bestaat. Menu-items worden opgegeven via hun structuur in het menu. foo
verwijst naar het foo
-item op het hoogste niveau. foo/bar
verwijst naar het bar
-submenu-item als kind van foo
.
Het opgegeven attribute
wordt direct op het diepste menu-item opgeslagen en overschrijft een eerder ingestelde waarde voor die sleutel. Andere bestaande sleutels op het menu-item blijven ongewijzigd.
Het menu-item dat u wilt aanpassen als een door slashes gescheiden lijst.
De attribuutnaam die op het menu-item wordt ingesteld.
De waarde die aan het attribuut wordt toegekend.
Er wordt geen waarde geretourneerd.
setPrologue(string $prologue): void
setPrologue(string $prologue, string $location): void
Stelt de proloog in voor de huidige pagina.
Een proloog is een door de gebruiker gedefinieerd stukje HTML dat aan het begin van een pagina-element wordt ingevoegd. Het wordt ingevoegd vóór de inhoud die door Nocterra wordt gegenereerd.
De locatieparameter specificeert vóór welk element op de pagina de proloog wordt ingevoegd. Als deze niet wordt gespecificeerd, staat deze aan het begin van de paginabody.
De in te pagina proloog.
De locatie op de pagina waar de proloog moet worden geplaatst.
Deze functie retourneert geen waarde.
setSubtitle(string $subtitle): void
Stel de subtitle van de hudige pagina in.
De in te stellen subtitel.
Deze functie retourneert geen waarde.
setTitle(string $title): void
Stel de titel van de hudige pagina in.
De in te stellen titel.
Deze functie retourneert geen waarde.
setVariant(string $variant): void
Selecteer een rendervariant voor de huidige pagina. Een variant is een benoemde set configuratie-overrides die in site.php onder $variants wordt gedefinieerd. Variants worden meestal gebruikt om een andere styling of paginagedrag toe te passen voor specifieke onderdelen van een website (bijvoorbeeld de handleiding/documentatie).
Wanneer een variant bestaat in de configuratie, past Nocterra de overrides van die variant toe bovenop de normale siteconfiguratie. Als de gevraagde variant niet bestaat, wordt de standaard siteconfiguratie gebruikt.
Voorbeeld: de Nocterra-websiteconfiguratie definieert een manual
-variant die de stylesheetlijst voor handleidingpagina’s overschrijft en aanvullende pagina-opties kan instellen. Zie $variants['manual'] in site.php.
De naam van de variant die u wilt selecteren, zoals gedefinieerd in de siteconfiguratie.
Er wordt geen waarde geretourneerd.
setWebsiteMeta(
string $title,
string $description,
mixed $image,
string $keywords
): void
Stel meerdere meta-velden voor de pagina in met één aanroep. Deze functie werkt de lokale branding/meta-velden bij die voor de huidige pagina worden gebruikt, waaronder titel, beschrijving en trefwoorden.
Als image
niet NULL is, wordt ook de site-afbeelding bijgewerkt. Wanneer image
NULL is, blijft de bestaande site-afbeelding ongewijzigd.
De paginatitel die voor de huidige pagina wordt ingesteld.
De paginabeschrijving die voor de huidige pagina wordt ingesteld.
Optionele afbeelding voor de site/pagina; als NULL blijft de huidige waarde behouden.
De trefwoorden-string die voor de huidige pagina wordt ingesteld.
Er wordt geen waarde geretourneerd.
stringToId(string $string): string
Zet vrije tekst om naar een stabiele identifier die geschikt is voor HTML id/name attributen en fragment-links.
De invoer wordt ontdaan van HTML-tags, HTML-entiteiten worden als UTF-8 gedecodeerd en waar mogelijk wordt de tekst naar ASCII getranslitereerd.
Tekens anders dan a-z en 0-9 worden omgezet naar koppeltekens, opeenvolgende koppeltekens worden samengevoegd en koppeltekens aan het begin/einde worden verwijderd.
Als de identifier leeg is wordt de fallback "id" geretourneerd; als de identifier met een cijfer begint wordt de prefix "id-" toegevoegd om de identifier HTML 4.01-vriendelijk te houden.
Invoertekst die wordt omgezet naar een HTML-id-geschikte identifier.
Retourneert de gegenereerde identifier als string.
stringToValue(mixed $string): string
Normaliseer een waarde naar veilige platte tekst voor gebruik in HTML-attributen en korte inline output. De functie:
stript HTML-tags,
decodeert HTML entities naar tekens (UTF-8),
trimt whitespace,
escaped speciale tekens voor HTML 4.01 output.
Dit is nuttig wanneer u user-provided of uit content afgeleide tekst veilig als attribuutwaarde wilt hergebruiken (bijvoorbeeld title, alt of value) zonder embedded markup toe te laten.
De output gebruikt ENT_COMPAT: dubbele quotes worden escaped, enkele quotes niet. Dit past bij dubbel-gequote HTML-attributen (de Nocterra default).
Invoerwaarde om te normaliseren. Niet-string waarden worden eerst naar string geconverteerd.
Retourneert een genormaliseerde, HTML-escaped string.