每次都要实例化 admin这个对象
来源:5-11 后台管理员修改密码操作

qq_法国大青椒_03589515
2017-03-14
我想问一下public function__construct(){
}里面该怎么写
3回答
-
Jason
2017-03-15
你想请求每个方法都自动实例化吗?不要这么做,实例化会造成内存开销,如果想这么做,可以在控制器写个init方法,这个方法会在所有方法之前执行
00 -
Jason
2017-03-14
不太了解你的需求,请详细描述一下,我这边才能对症下药帮你解决问题
00 -
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 我想写个构造函数怎么写
00
相似问题