为了账号安全,请及时绑定邮箱和手机立即绑定

PHP之ThinkPHP框架(界面)

标签:
PHP

Thinkphp框架其精髓就在于实现了MVC思想,其中M为模板、V为视图、C为控制器,模板一般是公共使用类,在涉及数据库时,一般会跟数据表同名,视图会和控制器类里的方法进行名字的一一对应。

 

测试:

官网(http://www.thinkphp.cn/)下载ThinkPHP5.0,将解压文件放在网站目录下的ATP5子目录下

默认主页:http://localhost:8099/ATP5/public/index.php

如果要隐藏index.php且服务器为Apache则需要将public\.htaccess下内容替换为:

复制代码

1 <IfModule mod_rewrite.c> 2 Options +FollowSymlinks -Multiviews 
3 RewriteEngine on 
4 RewriteCond %{REQUEST_FILENAME} !-d 
5 RewriteCond %{REQUEST_FILENAME} !-f 
6 RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] 
7 </IfModule>

复制代码

 

版本要求:

php版本大于等于5.4

 

访问规则:

http://localhost:8099/ATP5/public /模块/控制器/方法

其中http://localhost:8099/ATP5/public /为thinkphp的公共入口,模块的区分可以实现如管理员和用户的不同入口。

 

命名规则:

模块名:全部小写

控制器名:首字母大写

方法名:全部小写

注意:

URL输入时不区分大小写,框架会自动根据标志转换,可在config里设置(url_convert' => false)

如果控制器名为驼峰式命名(如HelloWorld)访问时地址栏应用下划线处理(如 hello_world)

 

新建入口App:

复制一份application,然后在public/index.php中修改对应的入口名字

 

建立MVC目录:

命名规则:

模板(model):首字母大写

视图(view):全部小写

控制器(controller):首字母大写

 

显示错误信息和调试

打开应用的目录里的config.php文件配置:

app_debug 值为true则显示调试信息

show_error_msg 值为ture 则显示错误信息

 

CSS和JS及图片的地址引用:

在视图目录下想要引用到一些资源文件,如css,js,图片等,是不支持使用把相关文件放到view目录下的,应该把资源文件放在public目录下,然后在App中的config.php里的view_ replace_str下添加资源文件的目录宏定义

复制代码

1 // 视图输出字符串内容替换2     'view_replace_str'       => [3         4         '__DSTYLE__'=>"/atp/public/static/library",5         '__DIMG__'=>"/atp/public/img",6         7     ],

复制代码

使用:

1 <img class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="__DIMG__/banner7.png">2 <link rel="stylesheet" href="__DSTYLE__/donglayui/layui/css/layui.css"  media="all">

 

简单的值匹配:

视图代码:

1 <!doctype html>2 <h1>--{$name1}--</h1>3 <h2>--{$name2}--</h2>

控制器代码:

复制代码

 1 <?php 2 namespace app\index\controller; 3 //导入必要模块 4 use think\Controller; 5  6  7 class Xiao extends Controller 8 { 9     public function xiao2(){10         $valuex1="匹配值1";11         $valuex2="匹配值2";12         //匹配,变量赋值13         $this->assign("name1",$valuex1);14         $this->assign("name2",$valuex2);15          //渲染输出16         //返回视图 fetch实参为空表示找函数同名的html,实参可以传递其它视图名称17         return $this->fetch();18     }19     20 }

复制代码

 Volist的使用:

该方法是thinkphp中很有趣的方法,其可以实现在视图文件中进行数组的循环遍历,最常会使用其进行数据库表格的遍历显示。

 

视图中的代码:

复制代码

 1 <table border="1"> 2            <!--表格头--> 3            <thead> 4               <tr>  5                 <th>id</th> 6                 <th>用户名</th> 7                 <th>昵称</th> 8                 <th>备注</th> 9               </tr>10             </thead>11        12             <!--表格内容-->13             <tbody>14                <!--循环遍历-->15                {volist name="listallh" id="vo"}16                <tr>17                  <td>{$vo.id}</td>18                  <td>{$vo.user}</td>19                  <td>{$vo.name}</td>20                  <td>{$vo.oo}</td>21                </tr>22               {/volist}    23            </tbody>24 </table>

复制代码

 控制器代码:

复制代码

1       $listall=array();2       $listall[]=array("id"=>1,"user"=>"dong1","name"=>"dongxiaodong1","oo"=>"无");3       $listall[]=array("id"=>2,"user"=>"dong2","name"=>"dongxiaodong2","oo"=>"无");4       $listall[]=array("id"=>3,"user"=>"dong3","name"=>"dongxiaodong3","oo"=>"无");5       $listall[]=array("id"=>4,"user"=>"dong4","name"=>"dongxiaodong4","oo"=>"无");6       $this->assign('listallh',$listall);    
7       return $this->fetch();

复制代码

 

原文出处:https://www.cnblogs.com/dongxiaodong/p/10256857.html

作者:东小东 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消