每次都要实例化 admin这个对象

来源:5-11 后台管理员修改密码操作

qq_法国大青椒_03589515

2017-03-14

我想问一下public function__construct(){

}里面该怎么写

写回答

3回答

Jason

2017-03-15

你想请求每个方法都自动实例化吗?不要这么做,实例化会造成内存开销,如果想这么做,可以在控制器写个init方法,这个方法会在所有方法之前执行

0
0

Jason

2017-03-14

不太了解你的需求,请详细描述一下,我这边才能对症下药帮你解决问题

0
0

qq_法国大青椒_03589515

提问者

2017-03-15

class ManageController extends Controller{
  //邮箱密码点击验证
   public function actionMailchangepass()
   {
       $this->layout=false;
       $time=Yii::$app->request->get("timestamp");
       $adminuser=Yii::$app->request->get("adminuser");
       $token=Yii::$app->request->get("token");
       $model=new Admin();
       $myToken=$model->createToken($adminuser,$time);
      if(!$token==$myToken){
          $this->redirect(["public/login"]);
          Yii::$app->end();
      }
       if(time()-$time>300){
           $this->redirect(["public/login"]);
           Yii::$app->end();
       }
       if(Yii::$app->request->isPost){
           $post=Yii::$app->request->post();
           //修改密码
          if($model->changePass($post)){
              Yii::$app->session->setFlash('info','密码修改成功');
          }
       }
         $model->adminuser=$adminuser;
         return $this->render("mailchangepass",["model"=>$model]);
   }

//分页
   public  function actionManagers(){
       $this->layout="layout1";
       $model=Admin::find();
       $count=$model->count();
       $pager =new pagination(['totalCount'=>$count,'pageSize'=>'4']);
       $managers=$model->offset($pager->offset)->limit($pager->limit)->all();
       return $this->render("managers",['managers'=>$managers,'pager'=>$pager]);

   }
//添加用户
   public  function  actionReg(){
       $this->layout="layout1";
       $model=new Admin();
         if(Yii::$app->request->isPost){
             $post=Yii::$app->request->post();
             if($model->reg($post)){
                 Yii::$app->session->setFlash("info","添加成功");
             }else{
                 Yii::$app->session->setFlash("info","添加失败");
             }
             $model->adminpass="";
             $model->repass="";
         }
       return $this->render("reg",['model'=>$model]);
   }
//用户的删除
   public function actionDel(){
       $adminid=(int)Yii::$app->request->get('id');
       if(empty($adminid)){
           $this->redirect(['manage/managers']);
       }
       $model=new Admin();
       if($model->deleteAll('id=:id',[":id"=>$adminid])){
        Yii::$app->session->setFlash("info",'删除成功');
           $this->redirect(['manage/managers']);
       }
   }
//邮件的更改
   public function actionChangemail (){
       $this->layout="layout1";
       $model=Admin::find()->where('adminuser=:user',[':user'=>Yii::$app->session['admin']['adminuser']])->one();
       if(Yii::$app->request->isPost){
           $post=Yii::$app->request->post();
           if($model->changemail($post)){
             Yii::$app->session->setFlash('info','修改成功');
           }
       }
       $model->adminpass="";

       return $this->render("changemail",["model"=>$model]);
   }
//密码的修改
   public function actionChangepass(){
       $this->layout="layout1";
       $model=Admin::find()->where('adminuser=:user',[':user'=>Yii::$app->session['admin']['adminuser']])->one();
       if(Yii::$app->request->isPost){
           $post=Yii::$app->request->post();
           if($model->changePass($post)){
             Yii::$app->session->setFlash("info","修改成功");
           }
       }
       $model->adminpass='';
       $model->repass="";
       return $this->render("changepass",["model"=>$model]);
   }
}


他每个function都要实例化 new admin 我想写个构造函数怎么写


0
0

Yii2.0开发一个仿京东商城平台

【毕设】购物、下单、支付、收货...各功能模块开发,打造京东式电商平台

1543 学习 · 655 问题

查看课程