微信扫一扫打赏支持

legend3---17、如何抽象和复用控制器中的方法

legend3---17、如何抽象和复用控制器中的方法

一、总结

一句话总结:

比如不同的控制器中都用了检查手机号是否已经注册,是否没注册这样的功能,我应该如何抽象和复用方法
新建一个处理手机号码的模型或者控制器,让其它控制器里面的操作调用这个控制器里面的方法,就是其它控制器里面关于手机号的操作都是方法的调用(空壳)

 

1、框架中不同用户对应的session应该是不一样的(就是存的session数据,而不只是sessionID)?

laravel不同用户对应的同名的session是独立的:不同用户会根据不同的laravel_session从而将session存在不同的session文件里面

 

2、什么时候用session,什么时候用缓存,什么时候用配置文件,什么时候用数据库?

- session:临时数据
- 缓存:用户数据
- 配置:系统相关设置
- 数据库:长久数据,当然临时数据也可,所有的都可

 

3、为什么总是会发生验证码没在session里面的情况,验证码用$request->session()->flash('regcaptcha', $phrase);方式存?

因为闪存session下一次请求过期,而现在进行了手机号是否存在的验证的ajax请求,而此时没有刷新session:也就是没有$request->session()->reflash();

 

4、js如何判断一个变量是否为对象?

typeof errors == "object"

 

5、js如何查看一个对象中属性的个数?

div v-if="Object.keys(errors).length"
var obj = {  
    key1:1,  
    key2:2,  
    key3:3  
};  
  
Object.getOwnPropertyNames(obj).length  
Object.keys(obj).length

 

 

6、laravel邮件发送?

\Mail::send('mail.reg',[],function ($message){});:参数2是数组,数据供第一个参数使用
//第二个参数是数组,数组里面的数据就是供 第一个参数的视图使用的
  \Mail::send('mail.reg',[],function ($message){
      $message->to('404006308@qq.com');
      $message->subject('亲爱的用户,恭喜您注册成功');
  });

 

 

7、js中为什么如下代码console.log(can_submit)的值总是false?

因为代码是异步执行的,console.log(can_submit)很傲娇的,才不会等着ajax完才执行呢

|||-begin

var can_submit=false;
$.post("/is_phone_exist", {'u_phone':phone,'_token':'{{csrf_token()}}'} ,function (data) {
  //console.log(data);
  if(parseInt(data.valid)==1){
      //手机号存在的情况
      $("#u_phone").removeClass('reg_danger');
      $("#u_phone").addClass('reg_success');
      layer_alert_success_mobile(data.message);
      can_submit=true;
      console.log(can_submit);
  }else{
      $("#u_phone").removeClass('reg_success');
      $("#u_phone").addClass('reg_danger');
      layer_alert_fail_mobile(data.message);
      can_submit=false;
  }
});
console.log(can_submit);
return can_submit;

|||-end

 

8、同步ajax的post请求实例?

这是为什么很多人用$.ajax而不直接用$.post的原因:因为$.ajax可以设置更多参数
将异步方式设置为false即可:async: false
$.ajax({
  type: "POST",
  url: "/is_phone_exist",
  data: {'u_phone':phone,'_token':'{{csrf_token()}}'},
  async: false,
  success: function(data){
      //console.log(data);
      if(parseInt(data.valid)==1){
          //手机号存在的情况
          $("#u_phone").removeClass('reg_danger');
          $("#u_phone").addClass('reg_success');
          layer_alert_success_mobile(data.message);
          can_submit=true;
      }else{
          $("#u_phone").removeClass('reg_success');
          $("#u_phone").addClass('reg_danger');
          layer_alert_fail_mobile(data.message);
          can_submit=false;
      }
  }
});

 

 

9、所有可以用session的都可以用数据库?

比如验证码,比如手机验证码,就是数据库相对于session有点慢和消耗大

 

10、lavarel中session设置值出错:session(['get_new_password_u_id',$u_id]);?

数组的方式是用 =>:session(['get_new_password_u_id'=>$u_id]);

 

 

 

二、内容在总结中

 

 

 

 
posted @ 2019-11-18 07:48  范仁义  阅读(190)  评论(0)    收藏  举报