1、前言php
说到PHP输出控制, 在不少框架里面,好比说TP,Yii和Laraval的模版引擎里面都有输出控制函数的阴影,输出控制也叫输出缓冲,说到它的做用有如下几点。框架
2、内容函数
一、 输出模版ui
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 }
二、实时输出spa
1 @ob_start(); 2 $a = '输出控制'; 3 echo $a; 4 @ob_end_flush();
三、捕获没有返回值的函数,好比: var_dump(),phpinfo(),echo,print_r();code
@ob_start(); phpinfo(); $a = @ob_get_contents(); echo $a; @ob_end_flush();
3、总结blog
总结: php输出缓冲控制主要就这三点,其中1是用的最多的,而2和3不经常使用.ci