thinkPHP3.2.3 框架
3.2.3开发文档https://pan.baidu.com/disk/home?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0#list/vmode=list&path=%2Fsoftware%2Fphp%2Fphp_framework
【1】.导入thinkphp3.2.3 ,新建一个项目

打开index.php文件(index.php文件为默认前台入口文件)
// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True);
// 定义应用目录
define('APP_PATH','./Application/');
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
// 亲^_^ 后面不需要任何代码了 就是如此简单

添加自己需要的入口定义文件(以下为作者自己喜好)
// 定义运行时目录
define('RUNTIME_PATH','./Runtime/');
//定义静态页面的路径
define('HTML_PATH','./Html/');
// 定义应用目录
define('APP_PATH','./App/');
定义应用目录可随意更改使用自己项目的主题(作者这改为APP)
//定义默认模块
define('BIND_MODULE','Home');
index.php默认定义为Home,也可随意更改

运行项目,浏览器输入http://localhost/text/,项目运行成功,thinkphp默认页面“欢迎使用 ThinkPHP!”

查看项目目录,F5刷新,APP为前台应用目录,Home为前台模块名称,Common为项目配置文件目录

复制index.php文件,重命名为admin.php,(admin.php为项目后台默认入口文件)index.php与admin.php在同一级目录,

打开admin.php文件修改
//定义默认模块
define('BIND_MODULE','Home');
为
//定义默认模块
define('BIND_MODULE','Admin);

运行项目,浏览器输入http://localhost/text/admin.php,项目运行成功,thinkphp默认页面“欢迎使用 ThinkPHP!”

查看项目目录,F5刷新,APP为前台、后台应用目录,Home为前台模块名称,Common为前台、后台项目公共配置文件目录,Admin为后台模块

到这里thinkphp项目前台后台入口文件运行创建成功,下面在前台后台分别实现需要的功能
【2】 框架目录文件解析
Common 存放当前项目的公用函数
conf 存放当前项目的配置函数
Lang 存放当前项目的项目语言包
Lib 存放当前项目的控制器和模型
Runtime 存放当前项目的运行时文件
Tpl 存放当前项目的模板文件
MC LIb
V Tpl
附加
Upload 文件上传
Page 分页的
image
Plugins 插件 在线编译器
Core 读取数据 前台也用到后台也会用到 不同的操作 业务层的操作
Configs 配置文件
【3】thinkphp的运行流程

【4】建立项目模板

index文件夹 function 名字来命名 function index(){}

页面上 IndexController.class.php
$this-> display();//可以跨路径 跨文件夹后面打上路径 display(文件路径) 显示 //可以调用模板文件
模板的技术
//echo C('name');
App/Action/IndexAction.class.php文件夹下的
URL模式
//输出URL模式
//echo C('URL_MODEL'),'<br/>';
//U('Index模块名/方法',array('id'=1),'xxxx html',true/false,'localhost'),true可直接跳转
/*
* 1是默认的url模式
* http://localhost/muke/index.php/Index/user/id/1.html
* 0默认的普通模式
* http://localhost/muke/index.php?m=Index&a=user&id=1
* 2重写模式
* http://localhost/muke/Index/user/id/1.html
* 3兼容模式
* http://localhost/muke/index.php?s=/Index/user/id/1.html
*/自定义函数
//echo U('Index/user',array('id'=>1),'html',false,'localhost');
//show();
//$arr=array(1,2,3,4,5);
//dump($arr);
//this->display();模板的赋值和输出
$name='Donsen';
//输出的第一种方法,只能赋值一种变量
$this->name=$name;
//输出的第二种方法,可以连续赋值
$this->assign('name',$name);
//$this->assign('name',$name)->assign('sex','gril');ThinkPHP模板引擎变量输出和运算
$me['name']='Donsen';
$me['age']='22';
$this->assign('me',$me);index.php模板中输出
输出的第一种方法
{$me['name']}
输出的第二种方法
{$me.name}
无定义的情况,可以赋值
{$me.sex|default='man'}
运算
{$me['age']-1}ThinkPHP模板引擎函数和系统参数
名字加密
{$me['name']|md5}
字符串截取
{$me['name']|md5|substr=0,5}volist和foreach
$person=array(
1=>array('name'=>'Jack','age'=>'18'),
2=>array('name'=>'Tom','age'=>'19'),
3=>array('name'=>'Peter','age'=>'20'),
4=>array('name'=>'Mary','age'=>'21'),
);
$this->assign('person',$person);
index.php中循环输出
<volist name='person' id='data' offset='1' length='2'>
{$data['name']}------{$data['age']}<br/>
</volist>
volist可利用offset='1' length='2'截取,但是foreach不能截取
<foreach name='person' item='data' >
{$data['name']}------{$data['age']}<br/>
</foreach>【5】
thinkphp的调式模式
thinkphp logo
里面的东西 信息
【6】 连接数据库

注意主从服务器
thinkPHP3.2.3 框架的更多相关文章
- Thinkphp3.2.3框架下封装公共的函数,例如封装CURL函数来获取接口数据
当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简: TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调 ...
- 解决ThinkPHP3.2.3框架,PDO驱动类“抛出异常”不起作用的bug
项目中引进了ThinkPHP3.2.3的模型层,发现当SQL语句出错时,系统抛出的异常不是我想要的效果,打开文件 ThinkPHP\Library\Think\Db\Driver.class.php, ...
- 解决ThinkPHP3.2.3框架,PDO驱动查询出来的字段名全是小写的bug
找到文件:ThinkPHP\Library\Think\Db\Driver.class.php 找到代码: // PDO连接参数 protected $options = array( PDO::AT ...
- 在thinkPHP3.2.3框架下实现手机和PC端浏览器的切换
查看thinkphp版本号方法 打开文件“根目录\ThinkPHP\ThinkPHP.php”下的文件ThinkPHP.php,在22--23行可以看到版本信息THINK_VERSION,如下图: 说 ...
- 在Thinkphp3.2.3框架下实现自动获取客户端IP地址的get_client_ip()函数
在Thinkphp框架下使用get_client_ip()函数获取客户端IP地址十分方便: 一行代码便可以实现:$ip = get_client_ip(); 但当我们测试时会遇到后台获取的IP地址显示 ...
- 代码审计-thinkphp3.2.3框架漏洞sql注入
开始复现审计一下tp3和tp5的框架漏洞,当个练习吧. 涉及注入的方法为where() table() delete()等. 环境 tp3.2.3 : 0x01 注入成因 测试代码: public f ...
- ThinkPHP3.2.3框架下接入阿里云短信服务接口实现:注册登录
首先介绍下短信注册登录流程: 注册页面点击获取手机号验证码按钮,用jquery的click事件POST或GET方法把手机号发送到后台控制器: 后台控制器创建函数,收到手机号后生成随机码,例如:6位的随 ...
- ThinkPHP3.2.3框架下where的组合查询and、or方法
在项目开发中,查询数据时经常用到where条件查询来过滤数据: 有时就需要一个input输入框判断多个字段查询,这时候我们就需要使用组合查询方法来实现: 说明:组合查询的主体还是采用数组方式查询,只是 ...
- ThinkPHP3.2.3中三大自动中的缺陷问题
我们在使用Thinkphp3.2.3框架时在对数据表进行模型化后就可以使用自动完成功能. 自动完成可以帮助我们更简便的完成对表单内容对数据表(集合)的填充,自动完成是基于: 当实例化数据库user后, ...
随机推荐
- Linux cciss磁盘设备文件的说明
在某些机器上安装Linux后,发现在/dev目录下找不到hda.hdb.sda等磁盘设备文件,那么挂接的磁盘 在哪里呢?使用mount命令查看挂接设备情况,发现磁盘文件在.dev\cciss目录下,并 ...
- Java基础--序列化Serializable
对Java对象序列化的目的是持久化对象或者为RMI(远程方法调用)传递参数和返回值. 下面是一个序列化对象写入文件的例子: ---------------------------- package u ...
- 杂项:VS调试技巧之附加进程
ylbtech-杂项:VS调试技巧之附加进程 1. 摘录返回顶部 1. 用过VS一段时间的程序员们相信都有过这种调试经历:每次按下F5进行断点调试时,都要等待好长时间:先让解决方式编译通过,然后启动V ...
- Eclipse中的普通Java项目如何部署到Tomcat中
我现在的做法: 1.在Eclipse中配置Tomcat时,选择创建Context文件,而不是server.xml,好处是文件可以随便命名,与虚拟目录一致(即xml中的属性path).Tomcat加载项 ...
- Intellij IDEA 发布后的项目在哪里
Intellij IDEA 中使用 tomcat 并发布项目后,项目并没有出现在在 webapps 文件夹中,如果没有手动修改过部署目录的话,idea的真实部署目录为 File---->Proj ...
- SQL命令优化
与数据库交互的基本语言是sql,数据库每次解析和执行sql语句多需要执行很多步骤.以sql server为例,当数据库收到一条查询语句时,语法分析器会扫描sql语句并将其分成逻辑单元(如关键词.表达式 ...
- AJAX——XMLHttpRequest对象的使用
AJAX是web2.0即动态网页的基础,而XMLHttpRequest对象又是AJAX的核心.XMLHttpRequest对象负责将用户信息以异步通信地发送到服务器端,并接收服务器响应信息和数据 一. ...
- IE6中浮动双边距bug
想要创建出漂亮的网页设计, 除了要认真学习每一个html和CSS代码之外,不可能不去了解一下臭名昭著的IE6和更早的那些IE浏览器的坏脾气,因为你本来写出的规规矩矩的代码, 漂亮的设计就此就要完成了, ...
- [hadoop入门]mapper与reducer(word_count计数demo)
1.mapper #!/usr/bin/env python import sys for line in sys.stdin: line = line.strip() words = line.sp ...
- LVS+keepalived搭建负载均衡
安装环境:环境 centos4.4 LB:192.168.2.158(VIP:192.168.2.188) real-server1:192.168.2.187 real-server2:192.16 ...