Jak korzystać z define w ramach heredoc? Na przykład:define and heredoc
define('PREFIX', '/holiday');
$body = <<<EOD
<img src="PREFIX/images/hello.png" /> // This doesn't work.
EOD;
Jak korzystać z define w ramach heredoc? Na przykład:define and heredoc
define('PREFIX', '/holiday');
$body = <<<EOD
<img src="PREFIX/images/hello.png" /> // This doesn't work.
EOD;
zaczerpnięte z the documentation regarding strings
DEFINE('PREFIX','/holiday');
$const = PREFIX;
echo <<<EOD
<img src="{$const}/images/hello.png" />
EOD;
jeśli masz więcej niż 1 stała, zmienna wykorzystanie byłoby trudne. więc spróbować tej metody
define('PREFIX', '/holiday');
define('SUFFIX', '/work');
define('BLABLA', '/lorem');
define('ETC', '/ipsum');
$cname = 'constant'; // if you want to use a function in heredoc, you must save function name in variable
$body = <<<EOD
<img src="{$cname('PREFIX')}/images/hello.png" />
<img src="{$cname('SUFFIX')}/images/hello.png" />
<img src="{$cname('BLABLA')}/images/hello.png" />
<img src="{$cname('ETC')}/images/hello.png" />
EOD;
Podążyłem za twoją sugestią, aby spróbować, ponieważ uważam, że jest to interesujące, jednak przyszło mi do głowy, że Twoja sugestia wygląda niesprawdzony, ponieważ daje wiele błędów. – hakre
Zmieniłem odpowiedź. –
To działa dobrze dla mnie! –
Dzięki! Dodanie małej uwagi: '$ const/images/hello.png' również będzie działać. – moey
nawiasy klamrowe nie są wymagane w tym przykładzie. – wlf
Możesz także użyć '$ consts = get_defined_constants();', aby uzyskać wszystkie definicje, a następnie uzyskać dostęp za pomocą '{$ consts ['PREFIX']}'. – PhoneixS