現在「単純な」テンプレート クラスを開発していますが、問題は、eval を使用せずに文字列内で PHP コードを実行するにはどうすればよいかということです。
次の例は、テンプレート クラスがどのように機能するかを示しています。
$user = 'Dave';
ob_start();
include 'index.tpl';
$content = ob_get_clean(); // String
$pattern = sprintf('/%s\s*(.+?)\s*%s/s', '{{', '}}'); // replace with php tags
$new_content = preg_replace($pattern, '<?php echo $1; ?>', $content);
echo $new_content;
index.tpl
<html>
<head></head>
<body>
Hello {{ $user }}!
</body>
</html>
次の結果が得られます。
Hello !
私は eval を使用したくありません。使用するのが遅くて悪いからです。これを行う他の方法はありますか? laravel ブレード エンジンは eval を使用しないため、存在する必要があります。
ありがとう、
ジョエル。