PHP 输出控制

一、前言

说到PHP输出控制, 在很多框架里面,比如说TP,Yii和Laraval的模版引擎里面都有输出控制函数的阴影,输出控制也叫输出缓冲,说到它的作用有以下几点。

 

二、内容

1、 输出模版

 1 $var = ['a' => 1, 'b' => 6];
 2 $initLevel = @ob_get_level();
 3 @ob_start();                //激活输出缓冲
 4 @ob_implicit_flush(false);  //关闭自动冲刷
 5 try{
 6     require '../index.php';     //模版文件
 7     extract($var, EXTR_OVERWRITE); //把当变量$var导入index.php文件中 即: $a = 1, $b = 6;
 8     return @ob_get_clean();
 9 }catch (\Exception $e){
10     //try...throw...catch 代码块
11     if(@ob_get_level() > $initLevel){
12         if(!@ob_end_clean()){
13             @ob_clean();
14         }
15     }
16     throw $e;
17 }

2、实时输出

1 @ob_start();
2 $a = '输出控制';
3 echo $a;
4 @ob_end_flush();

3、捕获没有返回值的函数,比如: var_dump(),phpinfo(),echo,print_r();

 @ob_start();
 phpinfo();
 $a = @ob_get_contents();
 echo $a;
 @ob_end_flush();

 

三、总结

总结: php输出缓冲控制主要就这三点,其中1是用的最多的,而2和3不常用.

posted @ 2018-06-13 10:03  clevstn  阅读(301)  评论(0编辑  收藏  举报