ホームページ > バックエンド開発 > PHPチュートリアル > HEREDOC 文字列内で PHP 関数を実行するにはどうすればよいですか?

HEREDOC 文字列内で PHP 関数を実行するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-26 13:49:10
オリジナル
568 人が閲覧しました

How Can I Execute PHP Functions Inside HEREDOC Strings?

HEREDOC 文字列内の PHP 関数へのアクセス

PHP では、HEREDOC 文字列構文により、複数行のテキスト ブロックを定義する便利な方法が提供されます。ただし、これらの文字列内に複雑な式や関数呼び出しを含めるには、慎重な取り扱いが必要です。

従来、HEREDOC 文字列内で関数呼び出しを中かっこで囲むことは機能しませんでした。

$string = <<<HEREDOC
{testfunction()}
HEREDOC;
ログイン後にコピー

この制限を克服するには、関数名を変数に保存し、それを動的に呼び出すなど、より複雑なアプローチが必要です。

$fn = 'testfunction';
$string = <<<HEREDOC
{$fn()}
HEREDOC;
ログイン後にコピー

ただし、このメソッドは

より簡単な方法は、カスタム関数を使用して HEREDOC 文字列の中括弧部分を処理することです。

function fn($data) {
  return $data;
}
$fn = 'fn';

$my_string = <<<EOT
Number of seconds since the Unix Epoch: {$fn(time())}
EOT;
ログイン後にコピー

これに必要なデータを渡すことで、関数を使用すると、任意の式または関数呼び出しを評価でき、その結果を HEREDOC 文字列に含めることができます。

さらに、次のようなテンプレート エンジンの使用を検討してください。 Twig または Smarty は複雑なデータ処理と出力生成を処理し、よりクリーンでより組織化されたアプローチを提供します。

以上がHEREDOC 文字列内で PHP 関数を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート