php constants quoting

citando constantes en php: "esto es un MY_CONSTANT"



constants quoting (5)

Descubrí que cuando la concatenación de puntos de una constante es un problema, usar sprintf para obtener mi cadena suele ser la forma en que quiero ir al final.

Quiero usar una constante en PHP, pero también quiero ponerla entre comillas dobles como una variable. ¿Es esto posible?

define("TESTER", "World!"); echo "Hello, TESTER";

obviamente produce "Hello, TESTER", pero lo que realmente quiero es algo como:

$tester = "World!"; echo "Hello, $tester";

ouputs "hola mundo!"


La concatenación es el camino a seguir.

A menos que quieras la forma de mono malvado, desagradable, ineficiente y malvado de:

echo preg_replace("/TESTER/",TESTER,$original_content);


Lo sentimos, no es así como funcionan las constantes en PHP. Puedes poner variables entre comillas dobles y heredocs pero no constantes.


Te recomiendo que uses concatenación porque:

  1. Cuando usas una variable en una cadena de comillas dobles, tu visibilidad no es buena;
  2. Cuando usas una cadena de comillas dobles, el PHP puede procesar lentamente;
  3. No usas una constante en una cadena, porque no hay ningún delimitador para el php sabe cuál es la constante.

de ninguna manera, a menos que escriba su propia función de análisis de cadenas