php - 将一个常数(不是变量)插入到 'heredoc'

标签 php syntax constants heredoc

考虑:

<?php
   define('my_const', 100);
   echo <<<MYECHO
      <p>The value of my_const is {my_const}.</p>
MYECHO;
?>

如果我在大括号内放置一个变量,它会打印出来。但不是常数。我该怎么做?

最佳答案

您还可以通过将常量的值分配给变量来解决问题。

我个人是这样做的,因为如果你的字符串中有很多常量,那么你的 sprintf() 调用可能会非常困惑。然后也更难扫描字符串并查看正在做什么。另外,通过单独分配变量,您可以看到什么具有什么值(value)。

一个例子是:

$const = CONST;
$variable = VARIABLE;
$foo = (new Foo)->setFooProperty(12)->getFooProperty();
$bar = (123 - 456) * 10;
$ten = 1 + 2 + 1 + (5 - 4);
<<<EOD
Lorem ipsum dolor sit amet, **$variable** adipiscing elit.
Duis gravida aliquet dolor quis gravida.
Nullam viverra urna a velit laoreet, et ultrices purus condimentum.
Ut risus tortor, facilisis sed porta eget, semper a augue.
Sed adipiscing erat non sapien commodo volutpat.
Vestibulum nec lectus sed elit dictum accumsan vel adipiscing libero.
**$const** vehicula molestie sapien.
Ut fermentum quis risus ut pellentesque.
Proin in dignissim erat, eget molestie lorem. Mauris pretium aliquam eleifend.
**$foo** vitae sagittis dolor, quis sollicitudin leo.
Etiam congue odio sit amet sodales aliquet.
Etiam elementum auctor tellus, quis pharetra leo congue at. Maecenas sit amet ultricies neque.
Nulla luctus enim libero, eget elementum tellus suscipit eu.
Suspendisse tincidunt arcu at arcu molestie, a consequat velit elementum.
Ut et libero purus. Sed et magna vel elit luctus rhoncus.
Praesent dapibus consectetur tortor, vel **$bar** mauris ultrices id.
Mauris pulvinar nulla vitae ligula iaculis ornare.
Praesent posuere scelerisque ligula, id tincidunt metus sodales congue.
Curabitur lectus urna, porta sed molestie ut, mollis vitae libero.
Vivamus vulputate congue **$ten**.
EOD;

关于php - 将一个常数(不是变量)插入到 'heredoc',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10041200/

相关文章:

php - 获取自定义支付网关数据作为 Woocommerce 3 中的设置

php - Symfony2 : Repository's findAll() returns multiple instances of same entity instead of all entities

Delphi ^A 语法 : Documented, 隐含或未记录?

java - hibernate/JPA : storing constants in entity class?

c++ - 为什么 `std::is_const_v` 没有按预期运行?

javascript - 如何创建嵌套数组

php - 从 PHP 检索 .htaccess 登录名

python - 在字符串文字前面加上 "r"是什么意思?

objective-c - 在 Objective-C 中否定 BOOL 的最短方法是什么?

c++ - 如何避免 C++ 派生类中基类成员的重复拷贝