当前位置 主页 > 网站技术 > 代码类 >

    Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示

    栏目:代码类 时间:2019-11-01 18:04

    本文实例讲述了Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作。分享给大家供大家参考,具体如下:

    Thinkphp5.0 控制器向视图view的赋值

    方式一(使用fetch()方法的第二个参数赋值):

    <?php
    namespace app\index\controller;
    use think\Controller;
    class Index extends Controller
    {
      public function study_view(){
        return $this->fetch('study_view',[
          'id' => 1,
          'name' => 'li lei',
          'age' => 10
        ]);
      }
    }
    
    

    方法二(使用assign()方法赋值):

    <?php
    namespace app\index\controller;
    use think\Controller;
    class Index extends Controller
    {
      public function study_view(){
        $this->assign('id',1);
        $this->assign('name','li lei');
        $this->assign('age','12');
        return $this->fetch();
      }
    }
    
    

    方法三(使用think\Controller类的view对象赋值):

    <?php
    namespace app\index\controller;
    use think\Controller;
    class Index extends Controller
    {
      public function study_view(){
        $this->view->id = 2;
        $this->view->name = 'li lei';
        $this->view->age = 15;
        return $this->fetch();
      }
    }
    
    

    方法四(使用View类的静态方法赋值):

    <?php
    namespace app\index\controller;
    use think\Controller;
    use think\View;
    class Index extends Controller
    {
      public function study_view(){
        View::share('id',6);
        View::share('name','zhang san');
        View::share('age',20);
        return $this->fetch();
      }
    }
    
    

    Thinkphp5.0 视图view取值

    <!-- 获取控制器传递的变量 -->
    <li>{$age}</li>
    <!-- 获取服务器的信息 -->
    <li>{$Think.server.HTTP_HOST}</li>
    <!-- 获取env环境变量 -->
    <li>{$Think.env.PHP_STATUS}</li>
    <!-- 获取session -->
    <li>{$Think.session.username}</li>
    <!-- 获取cookie -->
    <li>{$Think.cookie.username}</li>
    <!-- 获取参数 -->
    <li>{$Think.request.id}</li>
    <li>{$Think.get.id}</li>
    <li>{$Think.post.id}</li>
    <!-- 获取常量 -->
    <li>{$Think.const.APP_PATH}</li>
    <li>{$Think.APP_PATH}</li>
    <li>__STATIC__</li>
    <li>__CSS__</li>
    <li>__JS__</li>
    <li>__URL__</li>
    <li>__ROOT__</li>
    
    

    模板中使用函数:

    <!-- 使用md5函数 -->
    <li>ID : {$id|md5}</li>
    <!-- 使用字符串截取函数 -->
    <li>用户简介 : {$intro|substr=0,5}</li>
    <!-- 使用字符串替换 -->
    <li>用户手机 : {$tel|substr_replace='...',3,5}</li>
    <!-- 使用格式化时间戳,需要用三个#进行占位 -->
    <li>用户手机 : {$time|date='Y-m-d H;i:s',###}</li>
    <!-- 使用多个函数函数 -->
    <li>ID : {$id|md5|strtoupper}</li>
    
    

    当变量是第一个参数时,不需要用三个#占位。

    模板中的运算:

    <!-- 运算 -->
    <li>{$a+$b}</li>
    <li>{$a-$b}</li>
    <li>{$a*$b}</li>
    <li>{$a/$b}</li>
    <li>{$a%$b}</li>
    <li>{$a+$b+$c}</li>
    <li>{$a++}</li>
    <li>{--$a}</li>