入口文件: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)的更多相关文章

  1. 从零开始编写自己的C#框架(26)——小结

    一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...

  2. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

  3. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  4. iOS--->微信支付小结

    iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...

  5. iOS 之UITextFiled/UITextView小结

    一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...

  6. K近邻法(KNN)原理小结

    K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用.比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出 ...

  7. scikit-learn随机森林调参小结

    在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结.本文就从实践的角度对RF做一个总结.重点讲述scikit-learn中RF的调参注 ...

  8. Bagging与随机森林算法原理小结

    在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...

  9. scikit-learn 梯度提升树(GBDT)调参小结

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...

随机推荐

  1. es6(二)

    三 . 正则扩展: 1.构造函数的扩展 let regex = new Regex('xyz','i'); let regex2 = new Regex(/xyz/i);//test() 方法用于检测 ...

  2. 8ci

  3. 类型限定词——const

    类型限定词有三个:const  volatile restrict. const:一般也叫常量修饰符. 作用:是修饰变量,被修饰的变量就变成常量了,不能被二次修改了. const int a=12:a ...

  4. vue-cli axios跨域 + 反向代理模拟http请求host+referer

    axios跨域 配置config->index.js中的proxyTable,内容如下: proxyTable: { // 跨域请求 '/api': { // 注意此处可设置为 '*' 代表不限 ...

  5. Unity3d KeyCode 键盘各种键值详情

    KeyCode :KeyCode是由Event.keyCode返回的.这些直接映射到键盘上的物理键. 值        对应键 Backspace     退格键 Delete      Delete ...

  6. cin.get();cin.clear();cin.sync()

    先看代码: #include<iostream> using namespace std; int main(){ int c,x; cout<<"输入大小" ...

  7. JAVA面向对象之重载与重写

    重写:子类对父类方法的重新编写 返回值不变,形参不变 不能抛出新的或者范围更广的异常 class Animal{ public void move(){ System.out.println(&quo ...

  8. 用tensorflow实现最简单的神经网络

    import tensorflow as tfimport numpy as np def add_layer(inputs,in_size,out_size,activation_function= ...

  9. nodejs-POST数据处理

    GET数据:容量小 32K 数据在URL中 POST数据:数据量大 1G 分段传输 数据另外发 处理方法: const http=require("http"); http.cre ...

  10. Problem 4: Largest palindrome product

    A palindromic number reads the same both ways. The largest palindrome made from the product of two 2 ...