博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP之ThinkPHP框架(界面)
阅读量:5220 次
发布时间:2019-06-14

本文共 2812 字,大约阅读时间需要 9 分钟。

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

 

下载及配置

官网()下载ThinkPHP5.0,将解压文件放在网站目录下的ATP5子目录下

默认主页:

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

1 
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

 

版本要求

php版本大于等于5.4

 

访问规则

方法

其中为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     ],

使用:

如果修改后在开发者工具发现数据使用依然是上一次更改的地址,说明有缓存在作怪,可以到 runtime\temp 目录下清除

1 2 

 

简单的值匹配

视图代码:

1 2 

--{$name1}--

3

--{$name2}--

控制器代码:

1 
assign("name1",$valuex1);14 $this->assign("name2",$valuex2);15 //渲染输出16 //返回视图 fetch实参为空表示找函数同名的html,实参可以传递其它视图名称17 return $this->fetch();18 }19 20 }

 数组值的匹配

视图中获取

{$ff.1}

控制器

$valuex2=array("0","1","1");$this->assign("ff",$valuex2);return $this->fetch();

Volist的使用

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

 

视图中的代码:

1 
2
3
4
5
6
7
8
9
10
11 12
13
14
15 {volist name="listallh" id="vo"}16
17
18
19
20
21
22 {/volist} 23
24
id 用户名 昵称 备注
{$vo.id} {$vo.user} {$vo.name} {$vo.oo}

 控制器代码:

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

你可能感兴趣的文章
jqGrid树
查看>>
循环-12. 打印九九口诀表(15)
查看>>
oracle树状索引详解(图摘取《收获不止oracle》)
查看>>
Android Studio 设置代码提示和代码自动补全快捷键--Eclipse 风格 - 转
查看>>
ORACLE基本操作备忘
查看>>
Maven学习:项目之间的关系
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
makefile中使用变量
查看>>
GIT笔记:将项目发布到码云
查看>>
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
查看>>
JavaScript 鸭子模型
查看>>
PHP典型功能与Laravel5框架开发学习笔记
查看>>
SQL Server 如何查询表定义的列和索引信息
查看>>
项目上传到github上
查看>>
GCD 之线程死锁
查看>>
NoSQL数据库常见分类
查看>>
JS小工具_字符串转16进制数组_02
查看>>
信息安全系统设计基础实验四—20135214万子惠20135227黄晓妍
查看>>
一题多解 之 Bat
查看>>