Después de consultar con expertos en esta materia, programadores de diversas áreas y profesores dimos con la solución al dilema y la plasmamos en este post.
Solución:
Esta es una advertencia común que ocurre cada vez que PHP detecta el uso de una constante indefinida.
Aquí hay un ejemplo de constante definida en PHP:
define('PI', 3.14);
A continuación se muestra una lista de algunos casos que pueden causar el problema:
-
Olvidarse de usar un símbolo $ al comienzo de un nombre de variable.
$name = "Aniket"; echo name; // forgot to add $ before name
El código anterior arrojará: Aviso: uso de un nombre de constante indefinido: ‘nombre’ asumido. Debido a que no hay un signo de dólar delante de la variable “nombre”, PHP asume que estaba tratando de hacer referencia a una variable constante llamada “nombre”.
-
Olvidarse de colocar comillas alrededor de las cadenas.
echo $_POST[email];
En el ejemplo anterior, no pude colocar comillas alrededor del
$_POST
variable“email”
. Este código arrojará: Aviso: uso de un nombre de constante indefinido: ‘correo electrónico’ asumido.Para arreglar esto, obviamente tendría que hacer lo siguiente:
echo $_POST["email"];
De acuerdo con las funciones obsoletas en PHP 7.2.x, no debe usar constantes indefinidas porque:
Las cadenas sin comillas que son constantes globales inexistentes se toman como cadenas en sí mismas.
Este comportamiento solía emitir un E_AVISO, pero ahora emitirá un E_ADVERTENCIA. En la próxima versión principal de PHP, se lanzará una excepción de error.
Puedes prevenir esto E_WARNING
solo si declara el valor constante antes de usarlo.
En la pregunta anterior, MODULE_HEADER_SELECT_TEMPLATE_STATUS
no está definido.
Además, para aquellos que son nuevos en el desarrollo de complementos de wordpress y parece que no pueden entender qué significa definir “Constante” antes de que se use …
Aquí hay un ejemplo de lo que arrojará un error:
add_action('wp_enqueue_scripts', myprefix_load_styles);
Declarar una función directamente como esa en un enlace es una forma de generar un error como este. En lugar de:
add_action('wp_enqueue_scripts', 'myprefix_load_styles');
Tenga en cuenta que el nombre de la función ahora está entre comillas. Y eso debería funcionar, si ese es tu escenario.
Nos encantaría que puedieras dar visibilidad a este enunciado si te fue útil.