thinkPHP通用控制器实现方法示例

本文实例讲述了thinkPHP通用控制器实现方法。分享给大家供大家参考,具体如下:

<?php
namespace 目录\Controller;
class TypeController extends Controller
{
  public function add()
  {
    if(IS_POST)
    {
      $model = D('Type');
      if($model->create())
      {
        if($model->add())
        {
          $this->success('添加成功!', U('lst'));
          exit;
        }
        else
        {
          $sql = $model->getLastSql();
          $this->error('插入数据库失败!.<hr />SQL:'.$sql);
        }
      }
      else
      {
        $error = $model->getError();
        $this->error($error);
      }
    }
    $this->display();
  }
  public function lst()
  {
    $model = D('Type');
    $data = $model->search();
    $this->assign($data);
    $this->display();
  }
  public function save($id)
  {
    $model = D('Type');
    if(IS_POST)
    {
      if($model->create())
      {
        if($model->save() !== FALSE)
        {
          $this->success('修改成功!', U('lst'));
          exit;
        }
        else
        {
          $sql = $model->getLastSql();
          $this->error('修改数据库失败!.<hr />SQL:'.$sql);
        }
      }
      else
      {
        $error = $model->getError();
        $this->error($error);
      }
    }
    $data = $model->find($id);
    $this->assign('data', $data);
    $this->display();
  }
  public function del($id)
  {
    $model = D('Type');
    $model->delete($id);
    $this->success('操作成功!', U('lst'));
  }
  public function bdel()
  {
    $delid = I('post.delid');
    if($delid)
    {
      $delid = implode(',', $delid);
      $model = D('Type');
      $model->delete($delid);
    }
    else
      $this->error('请选择要删除的记录!');
    $this->success('操作成功!', U('lst'));
  }
}

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Thinkphp 空操作、空控制器、命名空间(详解)

    1.空操作 空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化. http://网址/index.php/Home/Main/login http://网址/index.php/Home/Main/hello 空操作 出现页面: 显示的错误信息过于详细,为安全以及优化页面起见,实行空操作 1.做一个_empty()方法.要在子类里面写,不要再父类里(推荐使用) function _empty() { echo

  • TP(thinkPHP)框架多层控制器和多级控制器的使用示例

    本文实例讲述了TP(thinkPHP)框架多层控制器和多级控制器的使用.分享给大家供大家参考,具体如下: 多层控制器的目录结构是这样的: ├─Controller 访问控制器 │  ├─UserController.class.php │  ├─BlogController.class.php │  ... ├─Event 事件控制器 │  ├─UserEvent.class.php │  ├─BlogEvent.class.php │  ... 给App应用添加多层控制器,不需添加任何参数,只

  • thinkphp3.2实现上传图片的控制器方法

    本文讲述了thinkphp3.2实现上传图片的控制器方法.分享给大家供大家参考,具体如下: public function file() { $baseUrl = str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME'])); import('ORG.Net.UploadFile'); import('ORG.Util.Services_JSON'); $upload = new UploadFile(); $upload->maxSize =

  • thinkPHP控制器变量在模板中的显示方法示例

    本文实例讲述了thinkPHP控制器变量在模板中的显示方法.分享给大家供大家参考,具体如下: 控制器中变量 public function register() { $type = I("param.type");//1.学生注册 2.教师注册 3.其他注册 $this -> assign("type", $type); //q全部部门 $depart1 = M("Depart") -> where("status=1 an

  • ThinkPHP控制器间实现相互调用的方法

    本文实例讲述了ThinkPHP控制器间实现相互调用的方法.分享给大家供大家参考.具体实现方法如下: ThinkPHP同一个项目里,两个控制器的方法如何相互调用呢?ThinkPHP提供了一个A(),通过它可以使控制器之间的方法相互调用,使得代码可以重复利用. 官方似乎对A()方法没有相关使用文档,现在通过一个例子来说一下如使用A()方法. 有两个控制器,ColumnsAction和NewsAction.ncatlist()是ColumnsAction的分类列表方法,现在我要在控制器NewsActi

  • ThinkPHP3.2.2的插件控制器功能

    3.2.2版本开始支持插件控制器的调用,可以通过更加方便的URL地址访问到模块中某个插件定义的控制器. 当URL中传入插件控制器变量的时候,会自动定位到插件控制器中的操作方法. 插件控制器的变量由参数 VAR_ADDON 进行设置,默认为addon,例如我们在URL中传入: 复制代码 代码如下: http://serverName/Home/info/index/addon/SystemInfo 由于传入了addon参数,因此这里的User控制器并非原来的 复制代码 代码如下: Home/Con

  • ThinkPHP5.0框架控制器继承基类和自定义类示例

    本文实例讲述了ThinkPHP5.0框架控制器继承基类和自定义类.分享给大家供大家参考,具体如下: 继承系统控制器基类: <?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function hello() { return 'hello,world'; } } 或者自定义一个基础控制器类Base: <?php namespace app\inde

  • ThinkPHP中URL路径访问与模块控制器之间的关系

    ThinkPHP中URL路径访问与模块控制器之间的关系是ThinkPHP程序开发中非常重要的一个环节.熟练的掌握该技巧对于进一步学习ThinkPHP起着至关重要的作用.具体分析如下: 打开控制器页面: UserAction.class.php  //路径:admin\Lib\Action\   此处的admin为新建的项目对应的目录 我们都知道在Action里的方法默认为Public属性,私有属性的方法没法访问,但定义私有属性的方法也有其意义所在. 在其中定义私有方法的意义:主要体现在,能够在这

  • thinkphp3.2实现跨控制器调用其他模块的方法

    本文实例讲述了thinkphp3.2实现跨控制器调用其他模块的方法.分享给大家供大家参考,具体如下: thinphp中前台后台都有互相调用方法,这样可以省去重复内容. $hello = new \Admin\Common\Fun\hello(); $hello->hehe(); 调用其他地方的方法同理. 如果是在同控制器里模块名可以省略. 如调用common里面的某个类的方法: $hello = new \Common\Fun\hello(); $hello->hehe(); 框架里面提供了跨

  • thinkphp控制器调度使用示例

    1.如何通过地址栏参数来得到模块名称和控制器名称(即使在有路由和开了重写模块的情况下) 2.tp是如何实现前置,后置方法功能模块,和如何执行带参数的方法? php系统自带的 ReflectionClass,ReflectionMethod 类,可以反射用户自定义类的中属性,方法的权限和参数等信息,通过这些信息可以准确的控制方法的执行 ReflectionClass主要用的方法:  hasMethod(string)  是否存在某个方法getMethod(string)   获取方法 Reflec

随机推荐