ThinkPhp5入门

TP5模板赋值的五种方法

2018-01-13  本文已影响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()~~

上一篇 下一篇

猜你喜欢

热点阅读