1.入口页面的定义
//框架文件目录
define('THINK_PATH','./ThinkPHP/');
//项目名称
define('APP_NAME','Home');
//项目目录
define('APP_PATH','./Home/');
//开启调试模式
define('APP_DEBUG',true);
//包含框架文件
require(THINK_PATH.'ThinkPHP.php');
2.控制器,模型,视图的写法
控制器
保存文件 Home/Lib/Action/IndexAction.class.php
IndexAction.class.php
class IndexAction extends Action{
public function index(){
$this->display();
}
public function list(){
$this->display();
}
}
调用形式
http://www.example.com/index.php/Index/list
模型
保存文件
Home/Lib/Model/UserModel.class.php
class UserModel extend Model{
}
调用形式
$User = D('User');
视图
保存文件
Home/Tpl/Index/index.html
Index模块名称
index.html index对应控制器里面的一个公共方法
3.简单数值的操作
IndexAction.class.php
public function index(){
$username = '张三'; //可以是数值型、字符串类型、数组类型、对象类型
$this->assign('username',$username);
$this->display();
}
Home/Tpl/Index/index.html
视图内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>测试...</title>
</head>
<body>
{$username}
</body>
</html>
4.SQL操作
主键查询
$User = D('User');
$Data = $User->find(6);
字段查询
$User = D('User');
$array['data'] = 'mysql';
$array['title'] = 'title1';
...
$Data = $User->where($array)->select();
字段的值增加或者减少,例如点击量
增加
$User = D('User');
$array['id'] = 1;
$Data = $User->where($array)->setInc('number',1);
减少
$Data = $User->where($array)->setDec('number',1);
添加数据
$User = D('User');
$array['data'] = 'html5';
$array['number'] = 100;
$boolen = $User->add($array);
修改数据
$User = D('User');
$array['id'] = 8;//主键
$array['data'] = 'html5';
$array['number'] = 1;
$boolen = $User->save($array);
或者
$User = D('User');
$array['data'] = 'html5';
$array['number'] = 1;
$boolen = $User->where(' `id` = 8 ')->save($array);
删除数据
$User = M("User"); // 实例化User对象
$boolen = $User->where(' `id` = 5 ')->delete(); // 删除id为5的用户数据
5.分页操作
$User = M('User'); // 实例化User对象
import('ORG.Util.Page');// 导入分页类
$count = $User->where(' `status` = 1 ')->count();// 查询满足要求的总记录数
$Page = new Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $User->where(' `status` = 1 ')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select();
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display(); // 输出模板
6.图片上传操作
public function upload(){
import('ORG.Net.UploadFile');
$upload = new UploadFile();
$upload->maxSize = 3222222;
$upload->allowExts = array('jpg','gif','png','jpeg');
$upload->savePath='./Public/Upload/';
$upload->thumb = true;
$upload->saveRule = time().'_prefix';
$upload->thumbMaxWidth='30,100';
$upload->thumbMaxHeight='30,100';
$upload->thumbPath='./Public/Thumb/';
if( ! $upload->upload() ){
$this->error($upload->getErrorMsg());
}else{
print_r($upload->getUploadFileInfo());
}
}
7.验证码操作
public function verify(){
import('ORG.Util.Image');
Image::buildImageVerify();
}
<img src="__URL__/verify" id="name" onclick="this.src=this.src+'?'+Math.random()" />
8.join的使用
$Model->join(' work ON artist.id = work.artist_id')->join('card ON artist.card_id = card.id')->select();
或者
$User = M();
$Data = $User->table('`think_user` user')->join(' `think_form` form ON `user`.`id` = `form`.`id`')->select(false);
9.Session和Cookie
Session操作
session('name','value'); //添加session
$value = session('name'); //获取session
session('name',null); // 删除name
session(null); // 清空当前的session
session('?name');查询session是否存在
Cookie操作
cookie('name','value'); //设置cookie
cookie('name','value',3600); // 指定cookie保存时间
cookie('name','value',array('expire'=>3600,'prefix'=>'think_'))//添加带后缀的
$value = cookie('name');//获取name的值
cookie('name',null);//删除name的值
cookie(null); // 清空当前设定前缀的所有cookie值
cookie(null,'think_'); // 清空指定前缀的所有cookie值
10模板引擎操作
Volist Foreach IF
__ROOT__ 网站根目录地址
__APP__ 当前项目(入口文件)地址
__URL__ 当前模块地址
__ACTION__ 当前操作地址
__SELF__ 当前 URL 地址
//框架文件目录
define('THINK_PATH','./ThinkPHP/');
//项目名称
define('APP_NAME','Home');
//项目目录
define('APP_PATH','./Home/');
//开启调试模式
define('APP_DEBUG',true);
//包含框架文件
require(THINK_PATH.'ThinkPHP.php');
2.控制器,模型,视图的写法
控制器
保存文件 Home/Lib/Action/IndexAction.class.php
IndexAction.class.php
class IndexAction extends Action{
public function index(){
$this->display();
}
public function list(){
$this->display();
}
}
调用形式
http://www.example.com/index.php/Index/list
模型
保存文件
Home/Lib/Model/UserModel.class.php
class UserModel extend Model{
}
调用形式
$User = D('User');
视图
保存文件
Home/Tpl/Index/index.html
Index模块名称
index.html index对应控制器里面的一个公共方法
3.简单数值的操作
IndexAction.class.php
public function index(){
$username = '张三'; //可以是数值型、字符串类型、数组类型、对象类型
$this->assign('username',$username);
$this->display();
}
Home/Tpl/Index/index.html
视图内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>测试...</title>
</head>
<body>
{$username}
</body>
</html>
4.SQL操作
主键查询
$User = D('User');
$Data = $User->find(6);
字段查询
$User = D('User');
$array['data'] = 'mysql';
$array['title'] = 'title1';
...
$Data = $User->where($array)->select();
字段的值增加或者减少,例如点击量
增加
$User = D('User');
$array['id'] = 1;
$Data = $User->where($array)->setInc('number',1);
减少
$Data = $User->where($array)->setDec('number',1);
添加数据
$User = D('User');
$array['data'] = 'html5';
$array['number'] = 100;
$boolen = $User->add($array);
修改数据
$User = D('User');
$array['id'] = 8;//主键
$array['data'] = 'html5';
$array['number'] = 1;
$boolen = $User->save($array);
或者
$User = D('User');
$array['data'] = 'html5';
$array['number'] = 1;
$boolen = $User->where(' `id` = 8 ')->save($array);
删除数据
$User = M("User"); // 实例化User对象
$boolen = $User->where(' `id` = 5 ')->delete(); // 删除id为5的用户数据
5.分页操作
$User = M('User'); // 实例化User对象
import('ORG.Util.Page');// 导入分页类
$count = $User->where(' `status` = 1 ')->count();// 查询满足要求的总记录数
$Page = new Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $User->where(' `status` = 1 ')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select();
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display(); // 输出模板
6.图片上传操作
public function upload(){
import('ORG.Net.UploadFile');
$upload = new UploadFile();
$upload->maxSize = 3222222;
$upload->allowExts = array('jpg','gif','png','jpeg');
$upload->savePath='./Public/Upload/';
$upload->thumb = true;
$upload->saveRule = time().'_prefix';
$upload->thumbMaxWidth='30,100';
$upload->thumbMaxHeight='30,100';
$upload->thumbPath='./Public/Thumb/';
if( ! $upload->upload() ){
$this->error($upload->getErrorMsg());
}else{
print_r($upload->getUploadFileInfo());
}
}
7.验证码操作
public function verify(){
import('ORG.Util.Image');
Image::buildImageVerify();
}
<img src="__URL__/verify" id="name" onclick="this.src=this.src+'?'+Math.random()" />
8.join的使用
$Model->join(' work ON artist.id = work.artist_id')->join('card ON artist.card_id = card.id')->select();
或者
$User = M();
$Data = $User->table('`think_user` user')->join(' `think_form` form ON `user`.`id` = `form`.`id`')->select(false);
9.Session和Cookie
Session操作
session('name','value'); //添加session
$value = session('name'); //获取session
session('name',null); // 删除name
session(null); // 清空当前的session
session('?name');查询session是否存在
Cookie操作
cookie('name','value'); //设置cookie
cookie('name','value',3600); // 指定cookie保存时间
cookie('name','value',array('expire'=>3600,'prefix'=>'think_'))//添加带后缀的
$value = cookie('name');//获取name的值
cookie('name',null);//删除name的值
cookie(null); // 清空当前设定前缀的所有cookie值
cookie(null,'think_'); // 清空指定前缀的所有cookie值
10模板引擎操作
Volist Foreach IF
__ROOT__ 网站根目录地址
__APP__ 当前项目(入口文件)地址
__URL__ 当前模块地址
__ACTION__ 当前操作地址
__SELF__ 当前 URL 地址