PHP之ThinkPHP框架(界面)
Thinkphp框架其精髓就在于实现了MVC思想,其中M为模板、V为视图、C为控制器,模板一般是公共使用类,在涉及数据库时,一般会跟数据表同名,视图会和控制器类里的方法进行名字的一一对应。
下载及配置
官网(http://www.thinkphp.cn/)下载ThinkPHP5.0,将解压文件放在网站目录下的ATP5子目录下
默认主页:http://localhost:8099/ATP5/public/index.php
如果要隐藏index.php且服务器为Apache则需要将public\.htaccess下内容替换为:
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</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下添加资源文件的目录宏定义
// 视图输出字符串内容替换
'view_replace_str' => [ '__DSTYLE__'=>"/atp/public/static/library",
'__DIMG__'=>"/atp/public/img", ],
使用:
如果修改后在开发者工具发现数据使用依然是上一次更改的地址,说明有缓存在作怪,可以到 runtime\temp 目录下清除
<img src="__DIMG__/banner7.png">
<link rel="stylesheet" href="__DSTYLE__/donglayui/layui/css/layui.css" media="all">
简单的值匹配

视图代码:
<!doctype html>
<h1>--{$name1}--</h1>
<h2>--{$name2}--</h2>
控制器代码:
<?php
namespace app\index\controller;
//导入必要模块
use think\Controller; class Xiao extends Controller
{
public function xiao2(){
$valuex1="匹配值1";
$valuex2="匹配值2";
//匹配,变量赋值
$this->assign("name1",$valuex1);
$this->assign("name2",$valuex2);
//渲染输出
//返回视图 fetch实参为空表示找函数同名的html,实参可以传递其它视图名称
return $this->fetch();
} }
数组值的匹配
视图中获取
{$ff.1}
控制器
$valuex2=array("0","1","1");
$this->assign("ff",$valuex2);
return $this->fetch();    
Volist的使用
该方法是thinkphp中很有趣的方法,其可以实现在视图文件中进行数组的循环遍历,最常会使用其进行数据库表格的遍历显示。

视图中的代码:
<table border="1">
<!--表格头-->
<thead>
<tr>
<th>id</th>
<th>用户名</th>
<th>昵称</th>
<th>备注</th>
</tr>
</thead> <!--表格内容-->
<tbody>
<!--循环遍历-->
{volist name="listallh" id="vo"}
<tr>
<td>{$vo.id}</td>
<td>{$vo.user}</td>
<td>{$vo.name}</td>
<td>{$vo.oo}</td>
</tr>
{/volist}
</tbody>
</table>
控制器代码:
$listall=array();
$listall[]=array("id"=>1,"user"=>"dong1","name"=>"dongxiaodong1","oo"=>"无");
$listall[]=array("id"=>2,"user"=>"dong2","name"=>"dongxiaodong2","oo"=>"无");
$listall[]=array("id"=>3,"user"=>"dong3","name"=>"dongxiaodong3","oo"=>"无");
$listall[]=array("id"=>4,"user"=>"dong4","name"=>"dongxiaodong4","oo"=>"无");
$this->assign('listallh',$listall);
return $this->fetch();
公共界面
如果多个页面需要使用到同一个HTML代码块,可以将代码块放到外面,其它界面直接通过引用即可
在view目录下创建自定义文件名字的文件夹(public_view),里面创建自定义文件名的HTML文件(menu.html),在需要的地方直接通过【{include file="public_view/menu"}】引入即可
创建公共文件

HTML内容
<h2>东小东内容匹配页</h2>
在其它页面中使用
<h2>东小东</h2>
{include file="public_view/menu"}
显示效果

PHP之ThinkPHP框架(界面)的更多相关文章
- ThinkPHP框架部署
		ThinkPHP框架部署 1.下载ThinkPHP框架 下载地址:http://www.thinkphp.cn/ ThinkPHP官方网站 下载ThinkPHP3.2.3完整版,下载后如下图所示: A ... 
- ThinkPHP框架概述
		框架概述 1.什么是框架 框架,即framework.其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统. 2.框架的应用场景 ① 代码重用 ② 合理分工 ③ 解决团队协作开发问题 3. ... 
- 【PHP ThinkPHP框架】小bug汇总[更新]
		目录结构 1.函数调用 2.绑定select下拉框数据 3.PHP查询功能 4.格式化时间和价钱 5.IF标签比较两个变量 6.eq标签比较两个变量 7.新增信息或者修改信息的自动验证和自动填充 8. ... 
- 使用ThinkPHP框架高速开发站点(多图)
		使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助 ... 
- 使用ThinkPHP框架高速发展网站(多图)
		使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助 ... 
- ThinkPhp框架开发微信支付——刷卡支付
		首先讲讲我遇到的坑: 1.下载了微信的demo,界面如下,一直调试不通过,原来点击链接地址是微信测试的网页地址...要改成自己开发的网页地址.... 2.demo不是用ThinkPhp框架的,我不懂, ... 
- ThinkPHP框架学习(一)
		这几天呢,断断续续地在看孙叔华老师的ThinkPHP教程,期间还做了一些其他事情,出去办了点事,总结总结下一学期规划等等,不知不觉间又过去了大半个星期.现在呢,看完了一天的教程,在这里,还是希望稍微总 ... 
- [转]使用ThinkPHP框架快速开发网站(多图)
		本文转自:http://blog.csdn.net/ruby97/article/details/7574851 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkP ... 
- ThinkPHP框架快速开发网站
		使用ThinkPHP框架快速搭建网站 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.如果对于同样是Web方面新手的你有一丝丝帮助 ... 
随机推荐
- Biopython 安装使用
			Biopython 官网:https://biopython.org/ 安装 Biopython https://biopython.org/wiki/Download 可以使用 pip 进行安装, ... 
- 用Python语言开发VTK程序的步骤
			在Windows环境下用Python语言开发VTK程序 1.安装Python集成开发环境IDLE:下载地址:https://www.python.org/downloads/ 2.然后到VTK官网下载 ... 
- java.sql.SQLException: Field 'id' doesn't have a default value
			1:id 列要设置成自增,自动赋值 java.sql.SQLException: Field 'id' doesn't have a default value at com.mysql.jdbc.S ... 
- Sublime text 2/3 [Decode error - output not utf-8] 完美解决方法
			原文链接 http://blog.csdn.net/bbdxf/article/details/25594703 [Decode error - output not utf-8]或者[Decode ... 
- clion中配置glfw和glew
			clion中只能用cmake文件配置 最开始不清楚cmake语法走了不少弯路 如果遇到symbol(s) not found for architecture x86_64错误,百分百是cmake没配 ... 
- MongoDB + Express 环境搭建记
			最近项目需要使用 MongoDB,所以不得不搭建 MongoDB 环境,此文记录搭建过程及使用过程中需要了解的问题. Linux + Windows 混合搭建调试 MongoDB 记录 版本介绍 : ... 
- shell脚本编写遍历某一目录下的所有文件
			遍历/root/321321/目录显示里面的所有文件 #!/bin/bash dir=`ls /root//` #定义遍历的目录 for i in $dir do echo $i done 
- 浅谈JS面向对象
			浅谈JS面向对象 一 .什么是面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了.注重代码的过程部分. 二.什么是面向对象 最先出现在管理学 ... 
- 01 C语言程序设计--01 C语言基础--第3章 基本数据类型01
			01.1.3.1序言 00:02:17 01.1.3.2 C语言中的基本元素和常量的概念 00:08:54 01.1.3.3示例--常量 00:12:08 01.1.3.4变量的概念和命名规则 00: ... 
- 实现PHP服务端和c#客户端数据交换
			服务端实现功能1,数据库的访问dbhelper.php包括执行语句返回多行,返回json数据,返回单条记录,返回第一行第一列的整数,返回第一行第一列的浮点数,返回第一行第一列的双精度数,返回第一行第一 ... 
