In zweiter Parameter
Sie benötigen zusätzliche Parameter an die Funktion übergeben:
function parts($site_url, $part) {
$structure = 'http://' . $site_url . 'content/';
echo $structure . $part . '.php';
}
Bei Schließungen
Wenn Sie lieber Verschlüsse verwenden würde, dann können Sie Variable in den aktuellen Gültigkeitsbereich importieren (das Schlüsselwort use
):
$parts = function($part) use ($site_url) {
$structure = 'http://' . $site_url . 'content/';
echo $structure . $part . '.php';
}
global
- eine schlechte Praxis
Dieser Beitrag häufig gelesen wird, so muss etwas über global
geklärt werden. Es wird als eine schlechte Praxis betrachtet (siehe this und this).
Für die Vollständigkeit halber hier wird die Lösung mit global
:
function parts($part) {
global $site_url;
$structure = 'http://' . $site_url . 'content/';
echo($structure . $part . '.php');
}
Es funktioniert, weil Sie Dolmetscher sagen, dass Sie eine globale Variable verwenden möchten, ist es jetzt denkt es ist eine lokale Variable (innerhalb deine Funktion).
nachlesen:
Dieser Weg ist ein wenig schwierig, zum Beispiel, wenn Sie 10 Variable haben, wird dieser Weg hart sein. – M98
php zeigt Fehler, warum? Parse-Fehler: Syntaxfehler, unerwartete 'Verwendung' (T_USE), erwartet '{' – M98
@Kermani Sie verwenden wahrscheinlich eine ältere Version von PHP, die nicht die 'use'-Syntax hat. Diese Syntax wurde in PHP5.3 eingeführt. Siehe https://wiki.php.net/rfc/closures –