Aggiungere secondo parametro
è necessario passare parametro aggiuntivo alla funzione:
function parts($site_url, $part) {
$structure = 'http://' . $site_url . 'content/';
echo $structure . $part . '.php';
}
In caso di chiusure
Se si vuole usare chiusure allora si può importare la variabile nello scope corrente (la parola chiave use
):
$parts = function($part) use ($site_url) {
$structure = 'http://' . $site_url . 'content/';
echo $structure . $part . '.php';
}
global
- una cattiva pratica
Questo post è spesso letta, quindi qualcosa deve essere chiarita su global
. Usarlo è considerato una cattiva pratica (fare riferimento a this e this).
Per amore di completezza ecco la soluzione utilizzando global
:
function parts($part) {
global $site_url;
$structure = 'http://' . $site_url . 'content/';
echo($structure . $part . '.php');
}
Funziona perché si deve dire all'interprete che si desidera utilizzare una variabile globale, ora pensa è una variabile locale (in un raggio la tua funzione).
Letture consigliate:
Questo modo è un po 'difficile, ad esempio se si dispone di 10 variabili in questo modo sarà difficile. – M98
php mostra errore, perché? Errore di sintassi: errore di sintassi, 'uso' imprevisto (T_USE), in attesa di '{' – M98
@Kermani si sta probabilmente utilizzando una versione precedente di PHP che non ha la sintassi 'use'. Questa sintassi è stata introdotta in PHP5.3. Vedi https://wiki.php.net/rfc/closures –