Antwort an „borisbaer“ verfassen

Hallo Martin,

Das schreit doch nach einer globalen Definition.

Hast du denn auch daran gedacht, sie mit dem Schlüsselwort global in die Funktion(en) zu importieren?

habe ich bisher nicht versucht, da hier einem davon abgeraten wird, wenn ich das richtig verstehe: Seit PHP 8.1.0 wird der Schreibzugriff auf das gesamte $GLOBALS-Array nicht mehr unterstützt.

Aber Funktionen, die auf globale Variablen zugreifen, sind sowieso unschön. Wie wär's, wenn du $current im globalen Scope definierst und als Parameter an die Funktionen übergibst, die diesen Wert brauchen? Dann wäre nur im globalen Scope, der ja sowieso alles zusammenklebt, ein bisschen "Magic", aber alle Funktionen wären autark.

Also, übergeben würde ich den Paramter dann so, oder?

<?php

function game($current) { ?>

	<a class="<?= $current === null || $current === 'game' ? 'current' : ''; ?>" href="game">Spiel</a>

<?php }

Aber wo ist denn dieser global scope? Ich bin noch nicht wirklich sehr vertraut mit PHP. In JavaScript wäre er ja außerhalb aller functions, aber bei PHP habe ich keine Ahnung.

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen