tp3.2小结(1)
入口文件: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();
sql一对一

sql一对多

C()config
m()model
u()url
I()获取变量
tp3.2小结(1)的更多相关文章
- 从零开始编写自己的C#框架(26)——小结
一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...
- Python自然语言处理工具小结
Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...
- java单向加密算法小结(2)--MD5哈希算法
上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...
- iOS--->微信支付小结
iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...
- iOS 之UITextFiled/UITextView小结
一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...
- K近邻法(KNN)原理小结
K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用.比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出 ...
- scikit-learn随机森林调参小结
在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结.本文就从实践的角度对RF做一个总结.重点讲述scikit-learn中RF的调参注 ...
- Bagging与随机森林算法原理小结
在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...
- scikit-learn 梯度提升树(GBDT)调参小结
在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...
随机推荐
- Linux c获取任意路径的硬盘使用情况
没有什么好说的,其实就是获取硬盘的statfs信息结构 代码如下: #include <stdio.h> #include <stdlib.h> #include <sy ...
- 整数中x出现的次数
求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.ACMer ...
- maven的依赖特性
若排版紊乱可查看我的个人博客原文地址 maven的依赖特性很多很杂,这里大概总结一下,maven的依赖特性主要是依赖范围和传递依赖,前者会影响后者,这篇文章会介绍传递依赖的传递原则,出现冲突传递依赖默 ...
- mui组件 输入表单 快捷键mf
<form class="mui-input-group"> <div class="mui-input-row"> <label ...
- git clone 带用户名密码
git使用用户名密码clone的方式: git clone http://username:password@remote eg: username: abc@qq.com, pwd: test, ...
- html5滑动事件代码
$(".header").on("touchstart", function(e) { // 判断默认行为是否可以被禁用 if (e.cancelable) { ...
- myeclipse 与 mysql 的连接
在小学期的学习中,我了解了myeclipse的开发环境,与mysql连接,可对数据库进行增.删.改.查等操作,以下是在myeclipse中连接数据库的代码. package cn.neusoft.my ...
- jmeter的学习路线
- 五、stdout,stdoin和stderr
stdout,stdin和stderr分别是标准输出流.标准输入流和标准错误流,当一个用户进程被创建的时候,系统会自动为该进程创建这三个数据流,默认情况下这三个流是在终端上表现出来的.可以使用fpri ...
- 汉诺塔III
题目描述: 约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下.由小到大顺序串着由64个圆盘构成的塔.目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动 ...