lista - introduccion a php pdf
¿Importa el orden de definición de función? (7)
Citando la sección de funciones definidas por el usuario del manual:
Las funciones no necesitan ser definidas antes de que sean referenciadas, excepto cuando una función está definida condicionalmente
Entonces, básicamente: puede llamar a una función antes de escribir su definición, pero, por supuesto, PHP debe poder ver esa definición cuando intente llamarla.
En el siguiente script, ¿el orden en el que los elementos se declaran importantes?
Por ejemplo, si add_action apunta a una función que aún no se ha definido? ¿Importa o debería la declaración de la función preceder siempre a cualquier código en el que se llame?
add_action(''load-categories.php'', ''my_admin_init'');
function my_admin_init(){
//do something
}
Del manual de PHP :
Las funciones no necesitan ser definidas antes de que sean referenciadas, excepto cuando una función se define condicionalmente como se muestra en los dos ejemplos a continuación.
Sin embargo, aunque esto es más una preferencia personal, recomendaría incluir todas las funciones que realmente usa en un archivo functions.php
externo y luego usar require_once()
o include_once()
(dependiendo de los gustos) en la parte superior de su archivo PHP principal. Esto tiene más sentido lógico: si alguien más está leyendo su código, es obvio que está usando funciones personalizadas y que están ubicadas en functions.php
. Ahorra muchas conjeturas IMO.
Eso no importa si la función se declara antes o después de la llamada, pero la función debe estar allí en el script y debe cargarse en.
Este es el primer método y funcionará:
some_func($a,$b);
function some_func($a,$b)
{
echo ''Called'';
}
Este es el segundo método y también funcionará:
function some_func($a,$b)
{
echo ''Called'';
}
some_func($a,$b);
No importa, siempre que se declare en algún lugar de la página.
como se ve aquí:
No.
No es C: P ...
Como puede ver aquí , el archivo completo primero se analiza y luego se ejecuta.
Si se llama a una función que no existe, php arrojará un error.
Error fatal: llamada a una función no definida
Según mi experiencia personal, en algunos casos especiales (Me gusta, pasar arreglos en función o función dentro de una función, etc.). Es la mejor opción para definir la función sobre la llamada. Debido a esto, a veces ni funciona la función ni PHP arroja un error.
En las funciones normales de php, no importa. Puedes usar ambos tipos.
puede llamar a una función antes de que esté definida, el archivo primero se analiza y luego se ejecuta.