ThinkPHP3.2 杂记
如果父类有_initialize()方法,子类用任何方法前都会调用父类的 _initialize方法,避免这种现象可以在子类中声明_initialize()方法,可以控制是否调用父类的_initialize方法
class ExcelController extends CommonController{
function _initialize() {
parent::_initialize();
echo 'ExcelController'.PHP_EOL;
}
}
前台模板文件{$a} 在某些位置不能被成功替换,例如{afdasd{$a}}解决办法 直接写成<?php echo($a); ?>
某些数组变量无法被解析可以把$vo.size 替换成$vo[‘size’]试试
通过一个Thinkphp完成多个项目
1、单独取压缩包中的Thinkphp文件夹

2、在单独的项目内创建一个引入文件

3、通过浏览器访问该index.php 会创建相应的目录
创建除另外一个项目分组外的另外分组

自动创建后台目录

自动生成控制器
生成Admin模块的目录,并生成一个默认的控制器类Admin\Controller\IndexController。 如果需要生成更多的控制器类,可以定义BUILD_CONTROLLER_LIST常量,例如:
//绑定Admin模块到当前入口文件- define('BIND_MODULE','Admin');
- define('BUILD_CONTROLLER_LIST','Index,User,Menu');
- define('APP_PATH','./Application/');
- require './ThinkPHP/ThinkPHP.php';
复制代码
访问后会自动生成三个指定的控制器类:
- Admin\Controller\IndexController
- Admin\Controller\UserController
- Admin\Controller\MenuController
品字框架传值
品字形框架通过index.html引入三个left.html/right.html/head.html,在index.html中不能使用”./left.html”, 比喻用单独的方法引入__CONTROLLER__/left,这样控制器才能传值。
显示所有常量


品字形框架点击替换
index.html(head.html/left.html/right.htm),点击left中连接,替换右边

使用自动验证时,
页面没有显示
使用dump($info->getError());可以
空控制器

跨控制器调用
$obj = A(”abc”); $obj->fun();
$obj = A(”admin/abc”); $obj->fun();
R函数是对A方法的封装
$user = new UserController; === $user=A(“User”);
$user = new UserController;
$user->fun(); === R(“User/fun”);
跨模块调用
R(“Home/User/fun”);
R(“Book://Home/User/fun”);
SQL匹配顺序
SELECT%DISTINCT%%FIELD%FROM %TABLE%%JOIN%%WHERE%%GROUP%%HAVING%%ORDER%%LIMIT% %UNION%%COMMENT%
having()方法设置查询条件,where()设置查询条件
having 和 where区别
① 使用有先后顺序
② where price>100 having price>100
③ where 设置条件,字段必须是数据表中存在的字段
④ having 设置条件,字段必须是select语句查询出来的字段可以使用

模版页面通过get传参数http://.../good_id/2;控制中可以直接使用echo $good_id;//2


模板输出时间

TP验证
十二、
十三、
十四、
十五、
十六、
多语言支持
1、
2、
3、
4、
变量会被替换

html,if标签使用

$vo.auth_id eq $vo2.auth_pid报错不能用
condition里面访问变量,不能用点的形式,应该用['']的形式访问
超级管理员

表前缀sw_时

操作效果一样
自增序号,而且默认变量就是$i,也就是说在你的volist标签之内,可以直接使用$i
<volist name="vlist" id="v">
<{$i}> // 直接使用$i
</volist>
去除最右空格

字符串分割数组

数组连接字符串

模板volist自增变量

SQL排序

模版输出多个空格

创建表
DROP TABLE IF EXISTS `sw_user`;
CREATE TABLE `sw_user` (
`user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`username` varchar(128) NOT NULL DEFAULT '' COMMENT '登录名',
`password` varchar(32) NOT NULL DEFAULT '' COMMENT '登录密码',
`user_email` varchar(64) NOT NULL DEFAULT '' COMMENT '邮箱',
`user_sex` tinyint(4) NOT NULL DEFAULT '1' COMMENT '性别',
`user_qq` varchar(32) NOT NULL DEFAULT '' COMMENT 'qq',
`user_tel` varchar(32) NOT NULL DEFAULT '' COMMENT '手机',
`user_xueli` tinyint(4) NOT NULL DEFAULT '1' COMMENT '学历',
`user_hobby` varchar(32) NOT NULL DEFAULT '' COMMENT '爱好',
`user_introduce` text COMMENT '简介',
`user_time` int(11) DEFAULT NULL,
`last_time` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=133 DEFAULT CHARSET=utf8 COMMENT='会员表';
/*!40101 SET character_set_client = @saved_cs_client */;
设置auto_increment 从133开始,插入数据时可以是任意值
验证码点击更换
<img src="__CONTROLLER__/verifyImg" onclick= "this.src='__CONTROLLER__/verifyImg/Math.random()'" />
疑难杂症,验证码有时不显示;
public function verifyImg(){
ob_end_clean(); //增加这句
$Verify = new \Think\Verify();
$Verify->fontSize = 16;
$Verify->length = 1;
$Verify->imageW =100;
$Verify->imageH =25;
$Verify->useNoise = false;
$Verify->entry();
}
I函数获取表单数据
I(‘post.name’);没毛病,获取全部数据I(‘post.’)别忘记这个’.’
当想mysql某插入有某字段设置了unique且和之前相同时,会报错,并停止运行

ThinkPHP 模板中无法计算
<td>{$listSum.goods_amount}</td>
无法进行计算需要使用
<td>{$list[goods_amount]- $listSum[cost_amount]-$listSum[shipping_amount]}</td>
获得某时间戳的下个月初时间戳(自己写)
$i=@strtotime(@date('Y',$i).'-'.@(date('m',$i)+1).'-1 00:00:00'))
ThinkPHP3.2 杂记的更多相关文章
- [Erlang 0118] Erlang 杂记 V
我在知乎回答问题不多,这个问题: "对你职业生涯帮助最大的习惯是什么?它是如何帮助你的?",我还是主动回答了一下. 做笔记 一开始笔记软件做的不好的时候就发邮件给自己, ...
- thinkphp3.2.3中U()方法和redirect()方法区别
今天博主看3.1的教程,学着3.2,就遇到了这个坑,怎么就是不跳转呢,很纳闷!! 在thinkphp3.1 中 U()方法是可以执行跳转的(看视频教程里面是可以的,博主没有测试过). 但是在think ...
- thinkphp3.2.3版本文件目录及作用
下载thinkphp3.2.3版本,解压缩后将文件夹名字改为thinkphp,然后放在www目录下,里面的文件夹和文件的名字和作用如下:(前面有Tab健的表示下一级,thinkphp是根目录) //t ...
- 基于ThinkPHP3的微信平台开发_1
微信公众平台是个好东西,具体的就不说了,我直接说技术>_< 下图为目录结构一览: 微信开发 - 文件目录结构 平台功能: 此次开发的平台是面向多微信公众号.微信多公众号主(下面简称号主)的 ...
- Thinkphp3.2.3使用Ajax一定注意 数据返回
Thinkphp3.2.3使用Ajax一定注意 数据返回 $data = 'ok'; $this->ajaxReturn($data); 不能直接 echo $data;
- ThinkPHP3.* 模型操作相关函数
ThinkPHP3.* 版本,大家所不熟知的,且与数据库操作相关的函数做以简单罗列: 1.getLastSql 别名 _sql (鉴于getLastSql比较常用,故出现了别名函数_sql) 2.se ...
- ThinkPHP3.2设置404跳转页面
在ThinkPHP3.2版本中当我们访问不存在的页面时会出现非常不友好错误提示页面,类如下图: 解决办法: 1.在ThinkPHP3.2详细的介绍了该框架下的ThinkPHP惯例配置文件convent ...
- 浅谈ThinkPHP3.2的子域名部署和路由优化(一)
前言:建立一个网站系统,往往包含多个子网站,例如PC官网,移动端官网,后台管理,数据源自一个相同的数据库,整个架构上,从ThinkPHP来看,可以大体理解为Model(M)是一样的,Controlle ...
- Ubuntu杂记——Ubuntu下用虚拟机共享上网
由于最近把自己电脑环境换成了Ubuntu,但学校的网络是电信的闪讯,大学里用过的人都知道这货有多坑,而且没有Linux客户端,上网都是问题,怪不得国内用Linux的人那么少,特别是高校的学生(让我瞎逼 ...
随机推荐
- BZOJ 3130: [Sdoi2013]费用流 网络流+二分
3130: [Sdoi2013]费用流 Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 1230 Solved: ...
- Codeforces 724 G Xor-matic Number of the Graph 线性基+DFS
G. Xor-matic Number of the Graph http://codeforces.com/problemset/problem/724/G 题意:给你一张无向图.定义一个无序三元组 ...
- thinkphp 的事务回滚处理 和 原始PHP的事务回滚实例
1. 要程序里面支持事务,首先连接的数据库和数据表必须支持事务 mysql 为例: 数据库InnoDB支持 transactions 数据表支持事务:InnoDB 支持transaction ...
- C#实现灰度图像和彩色图像的4种镜像
一:灰度图像的水平镜像核心代码: 二:灰度图像的竖直镜像 核心代码:三:彩色图像的水平镜像 核心代码: 四:彩色图像的竖直镜像 核心代码:
- 2018.3.12 Leecode习题 给定一个整数数列,找出其中和为特定值的那两个数。
给定一个整数数列,找出其中和为特定值的那两个数. 你可以假设每个输入都只会有一种答案,同样的元素不能被重用. 示例: 给定 nums = [2, 7, 11, 15], target = 9; 因为 ...
- 【转】Intellij IDEA 提交代码到远程GitHub仓库
1.文章参考自:http://my.oschina.net/lujianing/blog/180728 2.设置相关绑定 Settings——Version Control——Git——Path to ...
- Java 从资源文件(.properties)中读取数据
在Java工程目录src下,创建一个后缀为.properties的文件,例如db.properties 文件中的内容如下(键=值): name=mk age=123 address=China 在程序 ...
- /^/m|/$/m|\b|\B|$&|$`|$'|变量捕获|()?|(?:pattern)|(?<LABEL>PATTERN)|$+{LABEL}|(|)|\g{LABEL}
#!/usr/bin/perl use strict; use warnings; $_=' $$ oinn &&& ninq kdownc aninp kkkk'; if ( ...
- 实现HTTP文件下载
[原文:http://www.jb51.net/article/89958.htm] HTTP实现文件下载时,只要在服务器设置好相关响应头,并使用二进制传输文件数据即可,而客户端(浏览器)会根据响应头 ...
- 2019.5.18-5.19 ACM-ICPC 全国邀请赛(西安)赛后总结
第一次出去比赛经验太少了!!!果然最大目的是长见识和受刺激Orz 以下流水账: 背了本两千两百页的牛津高阶英汉双解词典,背了吃的,背了衣服……以后这些东西统统不带,买本口袋词典即可.上述物品这次比赛全 ...