コード例 #1
0
ファイル: TemplaterClass.php プロジェクト: n2j7/plainwork
 public function catchBlock($buf_name)
 {
     /*******************************************************\
     		 * Next check isn't correct due to php5.2 will generate
     		 * ParseError on anonymous function definition
     		 * I just leave this code here for some time
     		\*******************************************************/
     #if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
     #	ob_start(function ($buffer_val) use($buf_name){
     #		if(!array_key_exists($buf_name, Templater::$bufs)){
     #			Templater::$bufs[$buf_name] = array();
     #		}
     #		array_push(Templater::$bufs[$buf_name], $buffer_val);
     #		return $buffer_val;
     #	});
     #}
     #else{
     // this variant for php < 5.3.0
     // my production still use 5.2 (((
     // this variant don't support nesting catching
     self::$cur_buf_name = $buf_name;
     function handler($buffer_val)
     {
         if (!array_key_exists(Templater::$cur_buf_name, Templater::$bufs)) {
             Templater::$bufs[Templater::$cur_buf_name] = array();
         }
         array_push(Templater::$bufs[Templater::$cur_buf_name], $buffer_val);
         return $buffer_val;
     }
     ob_start('handler');
     #}
 }