Czy istnieje sposób na oszacowanie stałej wewnątrz podwójnego cudzysłowu, aby uniknąć konkatenacji za pomocą .
?Czy można oceniać stałe w podwójnym cudzysłowie?
Na przykład, mogę robić takie rzeczy jak:
echo "$variable";
echo "{$array["index"]}";
echo "{$this->myProperty}";
unfortunally echo "{MY_CONSTANT}" nie działają.
Czy istnieje sposób na oszacowanie stałej, jak w powyższych przykładach, unikając konkatenacji?
Wiem, że istnieją alternatywy dla kodu i uzyskać ten sam wynik, ale zmierzam tylko do stałych.
Moja motywacja do tego celu jest pisać SQL, na przykład:
$sql = "SELECT * FROM {MY_JOIN} WHERE id > 100";
Gdzie MY_JOIN
stały może być coś podobnego
"
orders
INNER JOIN
users
ON (orders.user_id = users.id)
"
lub uniknięcia czegoś podobnego
$dir = DIRECTORY_SEPARATOR."folder1".DIRECTORY_SEPARATOR."folder2".DIRECTORY_SEPARATOR;
Wiem, że mogę napisać coś w stylu: $separator = DIRECTORY_SEPARATOR
i kod $dir = "{$separator}folder1{$separator}folder2{$separator}";
, ale jeśli to możliwe, chciałbym to zrobić bezpośrednio ze stałymi.
Podobne pytanie: http://stackoverflow.com/questions/1267093/php-static-variables-in-double-quotes – Nate
Thx o linki. Zgadzam się, moje pytanie było duplikatem tego. Ale myślę, że wyjaśniłem trochę lepiej i stworzyłem motywację ^^ – GarouDan