本文实例讲述了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