美文网首页ThinkPhp5入门
TP5模板赋值的五种方法

TP5模板赋值的五种方法

作者: 傲娇的泰迪 | 来源:发表于2018-01-13 16:28 被阅读0次

    1、通过assign()方法

    在index.php文件中:

    <?php
    namespace app\index\controller;
    
    class Index extends \think\Controller
    {
      public function index()
      {
        //单独赋值
        $this->assign('siteName','www.php.cn');
        //批量赋值
        $this->assign([
          'name'=>'朱老师',
          'lesson'=>'php'
        ]);
        //渲染模板
        return $this -> fetch();
      }
    }
    ?>
    

    来到模板文件index.html:

    <p>网站域名:<span style="color:red">{$siteName}</span></p>
    <p>我的姓名:<span style="color:red">{$name}</span></p>
    <p>我的课程:<span style="color:red">{$lesson}</span></p>
    

    2、fetch()或display()方法传参赋值


    在index.php文件中:
    <?php
    namespace app\index\controller;
    
    class Index extends \think\Controller
    {
      public function index()
      {
        //单独赋值
        $this->assign('siteName','www.php.cn');
        //批量赋值
        //$this->assign([
        //  'name'=>'朱老师',
        //  'lesson'=>'php'
        //]);
        //渲染模板
        return $this -> fetch('index',[
          'name'=>'Peter',
          'lesson'=>'php'
        ]);
        return $this -> display('姓名:{$name},课程:{$lesson}',[
          'name'=>'Peter',
          'lesson'=>'php'
        ]);
      }
    }
    ?>
    

    3、给视图对象添加属性的方式赋值


    在index.php文件中:
    <?php
    namespace app\index\controller;
    
    class Index extends \think\Controller
    {
      public function index()
      {
        $this->view->name='朱老师';
        $this->view->lesson='JavaScript';
        return $this->fetch();
     }
    }
    ?>
    

    或者这样:

    <?php
    namespace app\index\controller;
    use think\View;
    class Index
    {
      public function index()
      {
        View::instance()->name='朱老师';
        View::instance()->lesson='HTML5';
        return View::instance()->fetch();
      }
    }
    ?>
    

    4、用share()方法给模板添加静态变量


    在index.php文件中:
    <?php
    namespace app\index\controller;
    use think\View;
    class Index
    {
      public function index()
      {
        View::instance()->name='朱老师';
        View::instance()->lesson='HTML5';
        View::share('siteName','php中文网');
        return View::instance()->fetch();
      }
    }
    ?>
    

    5、用助手函数view()向模板赋值


    在index.php文件中:
    <?php
    namespace app\index\controller;
    
    class Index
    {
      public function index()
      {
        return view('index',[
          'name'=>'张老师',
          'lesson'=>'CSS',
          'domain'=>'www.php.cn'
        ]);
      }
    }
    ?>
    

    总结:尽管有多种方式向模板赋值,但在一个项目中,尽可能保持统一的赋值风格。推荐继承控制器类,使用assign()方法,当然,传参赋值也是一个不错的选择,不推荐使用助手函数view()~~

    相关文章

      网友评论

        本文标题:TP5模板赋值的五种方法

        本文链接:https://www.haomeiwen.com/subject/cjpcoxtx.html