每天学点tp(一)

1.tp的几个模板常量

__URL__ 同模块同控制器,后面直接跟方法(操作)

__MODULE__ 同模块不同控制器 后面接控制器名

__APP__ 不同模块,后面接home/admin

__PUBLIC__ 项目的公共资源目录

ACTION_NAME 当前操作(方法)名

CONTROLLER_NAME 当前控制器名

后续再更.....

2.控制器使用细节

前置后置操作:(执行index之前执行:_before_index,执行index后执行:_after_index)

//前置操作
public  function _before_index(){
echo 'aaa<br>';
}
 
       public function index(){
    echo 'demo 控制器的index<br>';
}
//后置操作
public function _after_index(){
echo 'bbb<br>';
}
   

3.tp的传参问题

 方法1):  {:U('admin/demo/show?id=1&type=服装')}  

 方法2):  {:U('admin/demo/show/id/1/type/服装')}

 方法3): {:U('admin/demo/show',array('id'=>1,'type'=>'电脑'))}

服务端接收: 

方法1:  public function show($id,$type){ echo $id,$type } 注意:形参必须和url里面的参数一致

方法2: 不写形参,直接用get接收.

4.ajax  

1) 服务端通过数据库取得结果集,用json_encode($res) 转变为json格式.  然后$this->ajaxReturn($res,'json');返回数据到前台,前台ajax接收,不必声明dataType,即可处理.传递过来的就是个json对象.

5.空操作

1)控制器存在,方法不存在,则在控制器中定义一个方法 :

//空操作
public function _empty(){
//ACTION_NAME -》url中的方法名
echo '请求'.ACTION_NAME.'方法不存在';
}

2)若访问了不存在的控制器,则定义一个控制器,名字叫 EmptyController

6.跳转

操作执行成功后: $this->success('插入成功',U('admin/demo/dump1'),5);//参数1表示提示信息,参数2表示要跳转的页面,参数3表示几秒跳转

操作失败后:       $this->error('插入失败');//返回 相当于return back();

重定向: $this->redirect('/admin/index/index');//登陆检测

7: 文件上传

客户端:上传表单

服务端:

public function upload(){
$upload = new \Think\Upload();// 实例化上传类    
$upload->maxSize   =     3145728 ;// 设置附件上传大小    
$upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型    
$upload->rootPath  =      './Public/Uploads/'; // 设置附件上传目录
$upload->autoSub   =      false;//拒绝创建子目录    
// 上传文件     
$info   =   $upload->upload();    
if(!$info) {
// 上传错误提示错误信息        
$this->error($upload->getError());    
}else{
// 上传成功        
$this->success('上传成功!');    
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值