De balise_NAAM_stat() functie

Wanneer ze bestaat, zal de functie balise_NAAM_stat() het mogelijk maken om de argumenten te berekenen die moeten worden doorgegeven aan de volgende (_dyn()) functie. In afwezigheid daarvan worden alleen de argumenten uit de functie calculer_balise_dynamique() doorgegeven (in de volgorde van de array). De functie stat zal het mogelijk maken om de parameters afkomstig van argumenten of filters die aan het baken worden doorgegeven ook weer door te geven.

De functie krijgt 2 argumenten: $args en $context_compil.

  • $args bevat de voor functie calculer_balise_dynamique() benodigde argumenten, in aanvulling op de naar het baken doorgegeven argumenten.
  • $context_compil is een array met data over de afgewerkte compilatie, met 5 elementen (skeletnaam, gecompileerde bestandsnaam, de naam van de lus waarin het baken wordt gebruikt, regelnummer, taal), mogelijk gevolgd door optionele elementen van de array aangeleverd door de hoofdfunctie voor dynamische bakens (het 4e argument van functie balise_dynamique).

Voorbeeld

We gebruiken opnieuw het voorbeeld van #LOGIN_PUBLIC: dit werkt met 1 of 2 argumenten: de eerste is de URL van door doorverwijzing nadat de verbinding is gemaakt, de tweede is de standaard gebruikersnaam van de aangesloten gebruiker. Beide zijn optioneel.

We kunnen dus een argument met de doorverwijzing aan het baken leveren:
#LOGIN_PUBLIC{#SELF} of #LOGIN_PUBLIC{#URL_ARTICLE{8}}, maar is het argument afwezig, dan willen we een doorverwijzing naar een omgeving aangegeven met de URL parameter, als die er is. Is dit gevraagde argument aanwezig, dan vinden we het terug in $args[0], met in $args[1] de inhoud van het eerste aan het baken doorgegeven argument (het voegt zichzelf toe aan de $args array achter de lijst van automatisch opgehaalde argumenten). We krijgen dus:

function balise_LOGIN_PUBLIC_stat($args, $context_compil) {
	return array(
		isset($args[1]) 
			? $args[1] 
			: $args[0],
		(isset($args[2]) 
			? $args[2] 
			: '')
	);
}

Bestaat $args[1], dan wordt deze doorgegeven, anders $args[0]. En bestaat op dezelfde wijze $args[2], dan wordt deze ook doorgegeven, en anders ’’.

Functie _dyn() ontvangt deze 2 argumenten:

function balise_LOGIN_PRIVE_dyn($url, $login) {
...
}

Auteur hanjo Gepubliceerd op:

Vertalingen: English, français, Nederlands