本文实例讲述了Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作。分享给大家供大家参考,具体如下:
Thinkphp5.0 控制器向视图view的赋值
方式一(使用fetch()方法的第二个参数赋值):
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?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()方法赋值):
1
2
3
4
5
6
7
8
9
10
11
12
|
<?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对象赋值):
1
2
3
4
5
6
7
8
9
10
11
12
|
<?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类的静态方法赋值):
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?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取值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<!-- 获取控制器传递的变量 -->
< 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 >
|
模板中使用函数:
1
2
3
4
5
6
7
8
9
10
|
<!-- 使用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 >
|
当变量是第一个参数时,不需要用三个#占位。
模板中的运算:
1
2
3
4
5
6
7
8
9
|
<!-- 运算 -->
< 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 >
|
为赋值时可以使用默认值:
1
2
|
<!-- 使用未定义时可以使用默认值 -->
< li >性别 : {$sex|default='保密'}</ li >
|
使用{literal}{/literal}
可以原样显示php变量:
1
2
3
4
|
<!-- 使用leteral标签,实现不编译php -->
{literal}
< li >ID : {$id}</ li >
{/literal}
|
输出结果: ID : {$id}
关于注释:
1
2
|
<!-- 使用html注释时,用户在查看源码时,是能看到的-->
{/* 使用php的注释时,用户在查看源码时,是看不到的 */}
|
第一种html注释,查看页面源码,能被用户看到,
第二种php注释,查看页面源码,用户看不到。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/gyfluck/p/9408437.html