Mi chiedo sull'ordine di interpretare le dichiarazioni di funzione da parte del motore PHP. Non so perché qualche volta PHP mostri Call to andefined error fatal function e talvolta l'interprete veda la funzione senza problemi.Flusso di lavoro PHP - ordine di esecuzione delle funzioni
Supponiamo il mio codice è:
echo theRest(4,3);
function theRest($a, $b)
{
return $a % $b;
}
Vedi che la funzione viene dichiarata dopo l'invocazione e questo funziona corretta. Significa che il PHP legge l'intero file prima dell'interpretazione?
Un altro esempio:
echo theRest(4,3);
include('test2.php');
test2.php
function theRest($a, $b)
{
return $a % $b;
}
Qui sto ottenendo l'errore fatale: Call to undefined function therest(). Perché?
cancellato il mio post precedente perché il primo ha fatto il lavoro sulla mia macchina. (Ho avuto 1) Spero che qualcuno possa fornire anche la risposta. –
Dai un'occhiata a questa [Domanda] (http://stackoverflow.com/questions/5762017/php-include-not-working-function-not-being-included) potrebbe essere un problema simile? E, a proposito, PHP ti dà -anche- errore, se metti semplicemente il comando 'include ('test2.php');' riga -prima- quella funzione? Sai, solo per provarlo :) –
Questo è stato menzionato su [YourLanguageSucks] (https://wiki.theory.org/YourLanguageSucks#PHP_sucks_because :) pagina wiki –