tp3
入口文件:index.php
目录结构:核心,Thinkphp
公共资源,public jq 上传的图片等
应用目录,application 房模块
common:基于模块的公共目录,公共函数
命名:类:首字母大写类名controller.class.php
文件夹同名
命名空间:Home/application Admin/application
控制器命名:帕斯卡命名法
配置文件:config.php 动态配置:C('key',value);
视图:视图下的index文件夹下的xxx.html
控制器:
操作方法的定义:必须是公共的(public),操作方法的命名使用驼峰命名法
前置后置操作:
index();
_before_index();前置操作在index之前执行
_after_index();后置操作之后执行
参数绑定:
普通模式?x=...&y=...
PATHINFO模式:/x/../y/... 分隔符可进行设置(设置属性'URL_PATHINFO_DEPR')
REWRITE模式:是在PATHINFO的基础上添加了重写的,可省去入口文件
伪静态:支持所有的静态后缀,为了满足更好的SEO效果,设置('URL_HTML_SUFFIX'=>'html')
URL大小写敏感可设置
URL生成:U('地址表达式',['参数'],['伪静态后缀'],['显示域名']),
地址表达式:[/模块/控制器/操作#锚点@域名]
参数:?
/a/3/df/4
数组传参['a'=>3,'b'=>4]
AJAX返回:$data = 'ok';
$this->ajaxReturn($data,编码格式,二进制掩码);
跳转和重定向:
$this->success('新增成功', 'User/list');
$this->error('新增失败');
参数 提示信息;跳转地址;跳转时间
redirect();直接跳转
获取变量:I();
I('变量类型.变量名/修饰符',['默认值'],['过滤方法'],['额外数据源'])
变量类型:get,post,ajax......
I('get.name/d or s b a f','htmlspecialchars')
请求类型:is_get;is_post;is_put;....(此处全部大写)
demo: if (IS_POST){
$User = M('User');
$User->create();
$User->save();
$this->success('保存完成');
}else{
$this->error('非法请求');
}
连接数据库:
配置文件里进行配置;
在模型里进行设置:
protected $connection = array(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => 'localhost',
'db_port' => '3306',
'db_name' => 'thinkphp',
'db_charset' => 'utf8',
);
连贯操作:
where('type=1 AND status=1')->select();
where(['type'=>1],['status'=>2])->select();
field('id,title,content')->select();
$Model->where('status=1')->order('id desc,status')->limit(5)->select();
$Article->limit('10,25')->select();
$Article->limit('0,10')->select();
$this->field('username,max(score)')->group('user_id')->select();
$this->field('username,max(score)')->group('user_id')->having('count(test_time)>3')->select();
$Model
->join('__WORK__ ON __ARTIST__.id = __WORK__.artist_id')
->join('__CARD__ ON __ARTIST__.card_id = __CARD__.id')
->select();
C()config
m()model
u()url
I()input
tp3的更多相关文章
- TP3.2 配置最新的阿里大于sdk
TP3.2 配置最新的阿里大于sdk 最近公司买了阿里云的阿里大于短信验证 ,这里记录下本人接入短信验证的过程和心得. 大家是不是一开始都是和本人一样直接去百度下怎么有没有现成的demo 或者是封装好 ...
- TP3.2.3 接入支付宝
TP3.2.3 接入支付宝 项目接入支付宝支付了,在做这个给我的感觉是,方便 ,毕竟是老马的产品是吧, 话不多说 , 首先我们先找到官方的SDK ,不想去找的小伙伴复制此链接 https://doc ...
- TP3.2.3 接入银联支付
TP3.2.3 接入银联支付 项目接入银联支付的过程, 在此记录下,希望能帮助开发盆友平坑. 银联SKD链接:https://open.unionpay.com/ajweb/product/newPr ...
- 微信公众号tp3.2放进Model无效,几种实例化的方法试过,还是提示无法提供服务
http://www.imooc.com/video/10230 解决方案一: $indexModel = D('Index'); 实测可行 解决方案一: 使用TP3.2的小伙伴需要注意了,在Mod ...
- tp3.2分页
tp3.2分页 使用tp3.2自带的分页类 <?php // +----------------------------------------------------------------- ...
- tp3.2sql改变时间格式
tp3.2sql改变时间格式2018-05-10取05-10 $listIn=D('api_article as a')->field('date_format( fabutime,\'%m-% ...
- TP3.2加载外部PHPexcel类,实现导入和导出
TP3.2加载外部PHPexcel类,实现导入和导出 导入: 1.将下载好的PHPexcel文件放到libray/Org/Uti/文件夹下,将PHPEXCEL.PHP改为PHPEXCEL.class. ...
- 【TP3.2】TP3.2的 FIND_IN_SET()的用法
1.mysql的find_in_set 用法我这里就不介绍了,很好用的一个方法. 2.TP3.2使用: $where['_string'] = 'FIND_IN_SET('."'$id'&q ...
- 【TP3.2.X】(同样适用于OT) 设置单入口index.php文件,区分PC/WAP/Wechat 三个终端
1.目的:本教程适用于 OneThink1.0.或者TP3.2.X 系列,达到单入口index.php文件,区分PC/WAP/Wechat 三个终端 2.启发至 : http://www.thinkp ...
- 【TP3.2+onethink】radio+checkbox+select 空间 编辑页面选中,附录 js 返回上一页
1.TP3.2框架 如何实现 [radio+checkbox+select 空间 编辑页面选中],说实话,比较繁琐,不咋地!! 不废话,上代码:(其中 XX_arr 变量一维数组) <div ...
随机推荐
- SpringCloud系列六:Feign接口转换调用服务(Feign 基本使用、Feign 相关配置)
1.概念:Feign 接口服务 2.具体内容 现在为止所进行的所有的 Rest 服务调用实际上都会出现一个非常尴尬的局面,例如:以如下代码为例: Dept dept = this.restTempla ...
- Linux 下安装多个 tomcat
安装多个 tomcat 和安装一个同理,只是需要更改一些配置. 1.复制多个 tomcat 安装目录 cp /usr/local/tomcat_8080/ /usr/local/tomcat_8081 ...
- shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
let a = [1, 2, 3]; let b = a.shift(); console.log(a); // [2, 3] console.log(b); // 1 返回值 从数组中删除的元素; ...
- IEEE/ACM International Conference on Advances in Social Network Analysis and Mining (ASONAM) 2014 Industry Track Call for Papers
IEEE/ACM International Conference on Advances in Social Network Analysis and Mining (ASONAM) 2014 In ...
- JS中this的四种用法
1.在一般函数方法中使用 this 指代全局对象 2.作为对象方法调用,this 指代上级对象 3.作为构造函数调用,this 指代new 出的对象 4.apply 调用 ,apply方法作用是改变函 ...
- hadoop更改保存路径后,批量重启不能启动datanode(或者format以后不能启动datanode)
这是因为更改文件后,所有的子节点的core-site.xml并没有一致,所以使用start-dfs.sh的时候导致机器起不起来. 修改slave(datanode)节点的core-site.xml就可 ...
- 安装oracle [INS-32025] 所选安装与指定 Oracle 主目录中已安装的软件冲突” 的问题
删除C:\Program Files (x86)\Oracle\Inventory\下的Oracle文件夹即可解决问题
- 大数据架构工具hadoop
Hadoop是一个开源框架,它允许在整个集群使用简单编程模型计算机的分布式环境存储并处理大数据.它的目的是从单一的服务器到上千台机器的扩展,每一个台机都可以提供本地计算和存储. “90%的世界数据在过 ...
- 手眼标定eye-to-hand 示例:handeye_stationarycam_calibration
* * This example explains how to use the hand eye calibration for the case where* the camera is stat ...
- 【java】多个对象的序列化和反序列化
当我们需要序列化多个对象的时候,可以采用集合把多个对象放到集合中,然后序列化整个集合. 而我们要反序列化的时候,就使用集合接收反序列化后的对象 如: List<Student> stude ...