最近发表的话题
最近发表的评论
  • 「新轮子」PHP CORS (Cross-origin resource sharing),解决 PHP 项目程序设置跨域需求。 at 1个月前

    如果你能讲讲原理,或者实现的核心代码,那就更好了

  • 关于 PHP 异常捕获的问题,catch 中的类应该如何选择? at 1个月前

    你可以再记录日志的时候,使用 $e->getMessage()

  • 如果自定义一个 Captcha 验证规则放到 FormRequest 中,就可以把控制器里的验证过程去掉了 at 1个月前

    这个框架注重的思想就是业务分层,那个验证层面就是字段验证的。你这样容易让别人看代码找不到思路

  • 为什么验证码错误就要清除缓存呢? at 1个月前

    只是很多人认为这是最佳实践而已。你也可以根据自己的业务或者项目的复杂度调整。其实也不用纠结与这个。

  • 手机收不到验证码? at 1个月前

    @Marke 尽信书不如无书 你动下脑子。你的字段里面都没有 phone ,你的验证码是发送给谁呢?你进到控制器里面看一下就知道了。你的参数是注册的参数,不是请求验证码的参数

  • 为什么我给 middleware 注释了还是会提示超出频率? at 1个月前

    @Innocence6 你测试的这个路由在截图里面是没有的,为什么不能截图截全呢?你应该调用 users 这个路由才是注册

  • 同一个网段的用户,一个人把频率都刷完了,那其它人怎么办? at 1个月前

    file 可以惨开框架中的做法。不过现在的场景,可以使用手机号码+ip 就不会别人把你的注册次数使用完毕了。

  • 使用 dingo 的中间件 api.throttle 出现错误? at 1个月前

    @bossaiguo 改成 json格式不就行了嘛

  • 401 请求配图有错误 at 1个月前

    @zssen 这个应该确实配错图了,这个应该是请求短信验证码的接口,配成了校验验证码的了

  • 读《代码整洁之道》有感 at 1个月前

    $this->validateLogin($request); 验证之后不需要做处理吗?难道你是直接 throw 的报错?

  • Passport OAuth 的安全疑问? at 2个月前

    @zhizubaba 你的意思是指头部的 token 值会被看到是吗?这个应该不会有太大影响把?就像登陆后的 cookie 值一样,只有你自己登陆后才能看到这个 cookie 值。同意的道理,这个 token 也是只有你自己授权后才能看到。你自己暴露给自己,有什么影响呢?别人又无法看到你的 token

  • PHP 数组函数妙用 at 4个月前

    遇到了一个奇怪的现象,还是作者的那组数据 var_dump() 得到的数正确的结果,可是,如果直接在控制器中 return 得到的却是原数据。很是困惑

    file

    file

  • PHP 数组函数妙用 at 5个月前

    @lovecn 不会吧?我试了试一样的。$sort_all->first() 得到的是第一名 然后找其他有没有和第一名 一样值的

  • PHP 数组函数妙用 at 5个月前
         $sort_all = collect($grades)
                ->sortByDesc('英语')
                ->sortByDesc('数学')
                ->sortByDesc('语文');
            $max_all = $sort_all->where('英语', '=', $sort_all->first()['英语'])
                ->where('数学', '=', $sort_all->first()['数学'])
                ->where('语文', '=', $sort_all->first()['语文'])->all();
            dd($max_all);
    
            $yuwen_max = collect($grades)->sortByDesc('语文')->first();
            $yuwen_all = collect($grades)->where('语文', '=', $yuwen_max['语文']);
    
            $shuxue_max = collect($yuwen_all)->sortByDesc('数学')->first();
            $shuxue_all = collect($yuwen_all)->where('数学', '=', $shuxue_max['数学']);
    
            $yingyu_max = collect($shuxue_all)->sortByDesc('英语')->first();
            $yingyu_all = collect($shuxue_all)->where('英语', '=', $yingyu_max['英语'])->all();
            dd($yingyu_all);

    这两种方式也是可以的 不过,使用多个 sort 排序的话,是从后面的有限排序的

  • Auth::login (); 在其他控制器获取不到用户信息? at 6个月前

    @else 你这次说的原因或许才对。但是我还是有个疑问,为什么在同一个路有中 dump(Auth::user()) 会没有 set-cookie?即使不打印,直接 Auth::user() 应该也是一样的效果吧?我没有测试。还有,我发现 session()->put(key,value) 的用法也有这个情况,你如果在一个路由中 put 赋值,会发现用户对应的 session 文件是没有这组键值对的,如果在一个路由中赋值后,再去请求,才会有这组键值对,而且也写入了文件

  • Auth::login (); 在其他控制器获取不到用户信息? at 6个月前

    @else 我觉得你说的不对.你可以在登录后刷新 sesionid Session::regenerate(); 并不会影响用户的登录。我也不知道你说的这种情况是为什么,但是我发现 session()->getId() 这个值其实是不会变得。他对应的就就是当前用户的 session 文件

  • 选择优惠券下单,出现系统错误? at 6个月前

    @kuang couponCode Code是大写,你命名看到了那个函数报错,直接进入 Order 的模型中看看关联的函数不就知道了

  • 请问在 service 层,如何直接返回 return response? at 6个月前

    @halweg 可以在 Service 中定义错误方法,然后在 Controller 里面获取错误内容

      /**
         * 错误代码
         * @var int
         */
        protected $errorCode;
    
        /**
         * 错误信息
         * @var string
         */
        protected $errorMessage = '';
    
        /**
         * 返回错误代码
         * @return int
         */
        public function getErrorCode()
        {
            return $this->errorCode;
        }
    
        /**
         * 返回错误信息
         * @return string
         */
        public function getErrorMessage()
        {
            return $this->errorMessage;
        }
  • 关于队列使用场景的困惑 at 6个月前

    @leo 可能这个问题在你这个章节里并不适合,因为你此处确实是需要队列。而我的困惑是类似于上面我说的那个问题。我知道队列的应该是发送邮件。我想表达的是,像发邮件这种耗时的操作确实适合使用队列,但在实际场景中,很多不是耗时的操作,比如直接触发某个数据库的修改 也会直接使用队列,我觉得就不合适了。很多人使用队列可能是为了速度更快,可是这样并不会更快,使用者可能并不知道这样。今天又问了朋友,他说队列只是让数据更合法,并不会变得更快
    对了,其实我并没有做发送邮件。队列里面直接是做了数据修改

      public function handle()
        {
            $this->user->update(['email_verified'=>1]);
        }

    我只是随便举例而已,就是表明直接修改数据库的操作,为什么需要放入队列中

  • 用 $this->newQuery () 就可以创建一个查询构造器? at 6个月前

    @ross 你追踪的没问题,可是你理解错了。你要知道 $this->newQuery() 是在 Illuminate\Database\Eloquent\Model 类中,其中的 $this 代表的是你当前使用的 ModelnewQuery() 方法写明了返回的是 @return \Illuminate\Database\Eloquent\Builder。而函数内部的返回 return $this->registerGlobalScopes($this->newQueryWithoutScopes()); 其实是在找有没有注册全局作用域。追踪代码最终是要找到返回的那个值怎么来的。你的第二个图 public function registerGlobalScopes($builder) 返回的是 $builder,也就是传递的参数。你应该找 newQuery() 里面的参数 $this->newQueryWithoutScopes() 才对

     /**
         * Get a new query builder for the model's table.
         *
         * @return \Illuminate\Database\Eloquent\Builder
         */
        public function newQuery()
        {
            return $this->registerGlobalScopes($this->newQueryWithoutScopes());
        }
    
       /**
         * Get a new query builder that doesn't have any global scopes.
         *
         * @return \Illuminate\Database\Eloquent\Builder|static
         */
        public function newQueryWithoutScopes()
        {
            return $this->newModelQuery()
                        ->with($this->with)
                        ->withCount($this->withCount);
        }
    
       /**
         * Get a new query builder that doesn't have any global scopes or eager loading.
         *
         * @return \Illuminate\Database\Eloquent\Builder|static
         */
        public function newModelQuery()
        {
            return $this->newEloquentBuilder(
                $this->newBaseQueryBuilder()
            )->setModel($this);
        }
    
    所以最终还是返回的当前 Model