zoukankan      html  css  js  c++  java
  • 用include来处理模板的问题

        /**
         * 测试方法
          */
        protected function getHtml()
        {
            $tpl = $this->pageletDir.$this->plTemplate;
            $html=include($tpl);
            return $html;
        }
        protected function getHtml()
        {
            $tpl = $this->pageletDir.$this->plTemplate;
            ob_start();
            include($tpl);
            $html=ob_get_contents();
            ob_end_clean();
            return $html;
        }

    之前对于include方法包含模板文件的处理不是很清楚,也就对上面的第二种代码产生过疑问,认为为什么不用第一种方法?

    说明:模板内容就是普通的html。

    试验后发现:第一种方法并不能帮助我们完成想要的包含模板的功能,$html不是加载后的模板内容,而是 1 。

    先放下问题,来看看php手册上的例子:

    return.php
    <?php
    $var = 'PHP';
    return $var;
    ?>
    
    noreturn.php
    <?php
    $var = 'PHP';
    ?>
    
    testreturns.php
    <?php
    $foo = include 'return.php';
    echo $foo; // prints 'PHP'
    $bar = include 'noreturn.php';
    echo $bar; // prints 1
    
    ?>

    $bar 的值为 1 是因为 include 成功运行了。注意以上例子中的区别。第一个在被包含的文件中用了 return 而另一个没有。

    如果在包含文件中定义有函数,这些函数不管是在 return 之前还是之后定义的,都可以独立在主文件中使用。

    这下明白了吧? 对于include的使用又可以增进一步了!

    所以在包含模板时,一般情况下,我们都要使用最开始两个例子的第二个:使用输出控制函数来进行模板的处理。

  • 相关阅读:
    s3c6410 SD卡启动的Secure mode
    转载:在WinCE中实现Screen Rotation
    Linux常用的
    49美元Android PC驾到!威盛APC初探
    通过ImageIO创建任意大小图片缩略图(image thumbnail)
    MongoDB中的注意事项
    PHP连接Mongo时的数据库指定
    MongoDB与PHP的简单应用
    关于MongoDB的group用法
    MongoDB的管理
  • 原文地址:https://www.cnblogs.com/gaoj87/p/3152983.html
Copyright © 2011-2022 走看看