thinkphp框架知识点
基本配置
define('APP_DEBUG',true);//开启debug模式
//记录日志
'LOG_RECORD' => true, //系统日志在记录的时候需要开启debug调试模式,如果debug模式没有开启,日志并不记录.
'DB_SLQ_LOG' => true, //SQL执行日志
model操作
1、新增数据 用add()方法
$catModel->cat_name = 'xibeiwang';
$catModel->intro = 'guofei';
$catModel->parent_id = 1;
$catModel->add();
或者
$data = array('cat_name'=>'xibeiwang','intro' =>'guofei','parent_id' => 1);
$catModel->add($data);
2、查询数据
//新方法 tp封装的方法
$catModel = D('Cat');
var_dump($catModel->find('2'));
//新方法 tp封装的方法
$catModel = D('Cat');
var_dump($catModel->find('2'));
var_dump($catModel->select('2'));
var_dump($catModel->where('cat_id=3')->select('2'));
注意:
不论是find还是select只要里面加了参数 (参数会默认为主键,若表没有主键那么这里写的就无效)
那么where都不起作用了
如下:
$this->cat->where('intro="web的一种脚本语言"')->find(2);
变成了
SELECT * FROM `cat` WHERE `cat_id` = 2 LIMIT 1
$this->cat->where('intro="web的一种脚本语言"')->select(2);
变成了
SELECT * FROM `cat` WHERE `cat_id` = 2
3、修改数据
$catModel = D('Cat');
//面向对象的风格
$catModel = find('2');
$catModel -> cat_name = 'xibeiwang';
var_dump($catModel->save());//返回受影响行数
//不查询直接修改也可以
//其实就是面向过程化的风格
$catModel->where('cat_id=1')->save(array('cat_name'=>'haoshuang'));
4、删除数据
var_dump($model->delete(4)); //按主键来删除 where cat_id=4
var_dump($model->delete('3,4,5,6')); // where cat_id in (3,4,5,6);
var_dump($model->where('cat_id=2')->delete()); // where cat_id=2;
模版操作
1、assign赋值
$this->assign('title','标题');
$this->assign('content',$content);
$this->display();
2、变量输出
<title>{$title}</title>
3、if/else 标签
<if condition="$rand==1">
等于1
<elseif condition="$rand==2" />
等于2
<else/>
等于3
</if>
4、三元运算
{$rand?'对了':'错了'}
5、数组循环
<foreach name="bests" item="g">
<li>
{$g.goods_name}
</li>
</foreach>
6、import导入css,js文件
<import type="css" file="a.b.c" />
<import type='js' file='js/test'/>导入js
则导入
APP/Public/a/b/c.css //APP指代项目跟目录,新建Public/a/b目录
7、load导入css,js文件
<load href="__PUBLIC__/Js/XXX.js" />
<load href="__PUBLIC__/css/style.css" />导入css
导入的是APP/Public/Js/xxx.js
8、模板包含
<include file="Public/模版名(不含后缀)" />
例如:包含Home/View/Public/header.html;
<include file="Public/hader" /
thinkphp框架知识点的更多相关文章
- 攻城记:Thinkphp框架的项目规划总结和踩坑经验
一.项目模块规划 1.项目分为PC端.移动端.和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin: 对应入口 ...
- ThinkPHP框架的一些基础应用
这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...
- 关于在BAE上部署ThinkPHP框架的问题
现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点 ...
- 番外一:关于thinkphp框架下的文件导入路径问题
总的来说,要使在thinkphp框架下面HTML导入的图片.css文件和js文件有效,只有两种方法:(1)使用绝对路径:(2)在项目目录下创建新目录Public,把所有的img文件夹.js文件夹和cs ...
- 程序员必懂:javaweb三大框架知识点总结
原文链接:http://www.cnblogs.com/SXTkaifa/p/5968631.html javaweb三大框架知识点总结 一.Struts2的总结 1.Struts 2的工作流程,从请 ...
- 【PHP】基于ThinkPHP框架搭建OAuth2.0服务
[PHP]基于ThinkPHP框架搭建OAuth2.0服务 http://leyteris.iteye.com/blog/1483403
- thinkphp框架下404页面设置
404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化. 第一步:在thinkphp框架中的Home/Comtroller中建一个EmptyController.clas ...
- [2012-4-10]ThinkPHP框架被爆任意代码执行漏洞(preg_replace)
昨日(2012.04.09)ThinkPHP框架被爆出了一个php代码任意执行漏洞,黑客只需提交一段特殊的URL就可以在网站上执行恶意代码. ThinkPHP作为国内使用比较广泛的老牌PHP MVC框 ...
- ThinkPHP框架的部署
1.将ThinkPHP框架的框架文件放到想要放置的地方,与创建的应用文件夹同级 2.vhost文件中设置虚拟目录 3.在hosts文件中配置 4.在应用目录中创建入口文件index.php 5.在入口 ...
随机推荐
- Azure 基础:用 PowerShell 自动登录
PowerShell 是管理 Azure 的最好方式,因为我们可以使用脚本把很多的工作自动化.比如把 Azure 上的虚拟机关机,并在适当的时间把它开机,这样我们就能节省一些开支,当然我们同时也为减少 ...
- js 获取多少天前
getBeforeDate: function(day, str) { var now = new Date().getTime(); //获取毫秒数 var before = new Date(no ...
- Introduction of Git, Github and Gitlab
========================================================================== Version control is a syst ...
- (function($){...})(jQuery)和$(document).ready(function(){}) 的区别
(function($){...})(jQuery) 实际上是执行()(para)匿名函数,只不过是传递了jQuery对象. 立即执行函数:相当于先申明一个函数,声明完后直接调用: 用于存放开发 ...
- vue2.0实现在table中实现全选和反选
其实在去年小颖已经写过一篇:Vue.js实现checkbox的全选和反选 小颖今天在跟着慕课网学习vue的过程中,顺便试试如何在table中实现全选和反选,页面的css样式是直接参考慕课网的样式写的, ...
- HDU 6113 度度熊的01世界
度度熊的01世界 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- 实现 node_modules 共享
参考:https://segmentfault.com/a/1190000000610038 Gruntjs 作为前端工程化工具,能够很好的对前端资源进行管理(校验,合并,压缩). 久之,发现一个问题 ...
- 从一个实例谈谈postgresql索引锁
最近客户在使用我司开发的数据库时,报告了如下问题(也不能算是问题,就是疑惑吧),环境如下: OS : Red Hat Enterprise Linux Server release 6.7 (Sant ...
- 数据库(概念、语法、DBMS、SQL语言:创建数据库、表格,添加、修改、删除数据记录)
关系型数据库:以表作为实体,以主键和外键关系作为联系的一种数据结构. 主键:在关系型数据库中,用一个唯一的标识符来标志每一行,这个标识符就是主键.主键有两个特点:非空和不能重复. 外键:在关系型数据库 ...
- js经典闭包
setTimeout函数之循环和闭包 前言 之前对于setTimeout的一个经典问题的理解总是感到很迷惑,现在好像清晰一点了,所以把我的理解写下来,我对js的理解也不深入,如果有错误,请务必指出.以 ...