zoukankan      html  css  js  c++  java
  • 系统函数

    MemberController.class初始化控制器中用到的common_add方法

     1 <?php
     2 public function common_add($model = null, $templateFile = '') {
     3         is_array ( $model ) || $model = $this->getModel ( $model );        //若$model不存在或不是数组,用getModel函数查询数据库,并给$model赋值
     4         if (IS_POST) {        //判读是否有POST传参,若有执行下面代码
     5             $Model = D ( parse_name ( get_table_name ( $model ['id'] ), 1 ) );        //获取表名并且转换格式后实例化该表
     6             // 获取模型的字段信息
     7             $Model = $this->checkAttr ( $Model, $model ['id'] );
     8             if ($Model->create () && $id = $Model->add ()) {        //如果模型数据添加成功,返回成功信息    
     9                 $this->_saveKeyword ( $model, $id );
    10                 
    11                 $this->success ( '添加' . $model ['title'] . '成功!', U ( 'lists?model=' . $model ['name'], $this->get_param ) );
    12             } else {
    13                 $this->error ( $Model->getError () );        //数据添加错误,返回错误信息
    14             }
    15         } else {        //没POST传参,执行下面代码
    16             $fields = get_model_attribute ( $model ['id'] );    //获取模型中id字段名称
    17             $this->assign ( 'fields', $fields );        //分配$fields数据
    18             $this->meta_title = '新增' . $model ['title'];        //设置meta_title的值
    19             
    20             $templateFile || $templateFile = $model ['template_add'] ? $model ['template_add'] : '';    //判断或者给模板变量赋值
    21             $this->display ( $templateFile );        //显示模板
    22         }
    23     }

    MemberController.class初始化控制器中用到的common_add方法

     1 <?php
     2 public function common_del($model = null, $ids = null) {    //声明函数
     3         is_array ( $model ) || $model = $this->getModel ( $model );        //使用getModel()函数查询数据库中model表信息 ,返回数组并交给模板
     4         
     5         ! empty ( $ids ) || $ids = I ( 'id' );        //若$ids为空或不存在,把传过来的值交给$ids
     6         ! empty ( $ids ) || $ids = array_filter ( array_unique ( ( array ) I ( 'ids', 0 ) ) );    //同上,判断并回调函数赋值
     7         ! empty ( $ids ) || $this->error ( '请选择要操作的数据!' );        //判断,并报错
     8         
     9         $Model = M ( get_table_name ( $model ['id'] ) );    //获取表名,实例化对应模型
    10         $map ['id'] = array (        //赋值
    11                 'in',
    12                 $ids 
    13         );
    14         
    15         // 插件里的操作自动加上Token限制
    16         $token = get_token ();        //获取token
    17         if (defined ( 'ADDON_PUBLIC_PATH' ) && ! empty ( $token )) {    //判读并赋值
    18             $map ['token'] = $token;
    19         }
    20         
    21         if ($Model->where ( $map )->delete ()) {        //查表并执行删除命令,成功或者失败分别抛出错误
    22             $this->success ( '删除成功' );
    23         } else {
    24             $this->error ( '删除失败!' );
    25         }
    26     }

    NoticeController.class通知控制器代码

     1 <?php
     2 
     3 namespace Addons\Card\Controller;
     4 
     5 use Addons\Card\Controller\BaseController;
     6 
     7 class NoticeController extends BaseController {        //同样的继承基类模型
     8     var $model;        //定义模型
     9     function _initialize() {        //初始化函数
    10         $this->model = $this->getModel ( 'card_notice' );    //初始化模型的信息数组
    11         parent::_initialize ();        //调用父类的初始化方法
    12     }
    13     // 通用插件的列表模型
    14     public function lists() {        //定义列表页的方法
    15         $map ['token'] = get_token ();        //设置查询方法的token值
    16         session ( 'common_condition', $map );        //设置session值
    17         
    18         parent::common_lists ( $this->model );        //调用list模板显示
    19     }
    20     
    21     // 通用插件的编辑模型
    22     public function edit() {
    23         parent::common_edit ( $this->model );
    24     }
    25     
    26     // 通用插件的增加模型
    27     public function add() {
    28         parent::common_add ( $this->model );
    29     }
    30     
    31     // 通用插件的删除模型
    32     public function del() {
    33         parent::common_del ( $this->model );
    34     }
    35     
    36     //预览通知界面
    37     function show() {
    38         $map ['token'] = get_token ();
    39         $list = M ( 'card_notice' )->where ( $map )->order ( 'id desc' )->select ();
    40         $this->assign ( 'list', $list );
    41         
    42         $this->display ();
    43     }
    44 }
    45 
  • 相关阅读:
    S3:代理模式 Proxy
    S2:外观模式 Facade
    S1:适配器 Adapter
    C5:单例模式 Singleton
    C4:原型模式 Prototype
    C3:建造者模式 Builder
    C2:抽象工厂 Abstract Factory
    C1:工厂模式 Factory
    设计模式分类
    数据访问对象模式
  • 原文地址:https://www.cnblogs.com/dennr/p/4601337.html
Copyright © 2011-2022 走看看