我试图弄清楚如何从类类型控制器执行HTML和PHP代码,并将结果存储到变量中以模拟某些面向MVC的框架的行为,例如:
我有一个名为 $ mystic_var 的变量,我希望将这个var用于一个奇怪的函数(我不知道哪个函数是)来读取.php文件,执行它将结果存储到我的$ mystic_var
中假设try.php具有以下内容:
<html>
<head></head>
<body><?php echo "Hello world"; ?></body>
</html>
然后我执行$ mystic_var = mystic_function(&#39; try.php&#39;);如果我检查我的$ mystic_var,它会有这样的东西:
<html>
<head></head>
<body>Hello World</body>
</html>
答案 0 :(得分:0)
您可以使用输出缓冲区
<?php ob_start(); ?>
<html>
<head></head>
<body><?php echo "Hello world"; ?></body>
</html>
<?php $output = ob_get_clean(); ?>
答案 1 :(得分:-1)
如果您使用file_get_contents
,您将获得该文件中的所有文本,但其中的任何PHP代码都不会被执行。如果您include
该文件,将执行PHP,但包含该文件的结果将最终显示在您的屏幕上。您可以使用output buffering来保存所包含文件的内容,而不是立即显示它。
function mystic_function($php_file) {
ob_start();
include $php_file;
return ob_get_flush();
}
$mystic_var = mystic_function('try.php');
echo $mystic_var;
// or if you want to see the html
// echo htmlspecialchars($mystic_var);
答案 2 :(得分:-1)
例如,你有一个带有你的功能的php类
php file ..
$more = $response['additional_data']['pagination']['more_items_in_collection'];
$nextStart = $response['additional_data']['pagination']['next_start'];
你的班级
<html>
<head></head>
<body>@$hello_word@</body> //you should wrap strings you want to play with later into something you parse later
</html>
...浏览
class myclass{
// and you have your php function that returns the file contents..
public function readfile($a){ //$a will store file path & name
$contents = file_get_contents ($a);
return $contents;
}
}
注意:
PHP函数读取file = file_get_contents();
声明class =&gt; $ myclass = new myclass();
class =&gt;内的访问功能$ myclass-&GT; ReadFile的( “file.html”);
使用str_replace或其他方法解析变量