pardon110

第 18357 位会员
注册于 1年前
活跃于 20小时前

php工程师 @ 社科大


最近发表的话题
最近发表的评论
  • &的解释 at 1天前

    不加&,其实是读引用,写复制。你这里只是读属性,所以加&与否效果一样。

  • beego ORM 在插入数据的时候,如何忽略某个字段 at 3天前

    为字段设置默认值,比如这样

    type User struct {
        ...
        Status int `orm:"default(1)"`
        ...
    }
  • INVALID_SIGN: Alipay Sign Verify FAILED at 1个月前

    一般是配置错误,仔细检查了一次,我是一不小心回了个车,导致验签失败

  • 多图上传,编辑的时候提示图片不能为空? at 1个月前

    @xiaocao laravel-admin 1.6+ 有图片显示,未对图片进行编辑,提交编辑更新,报错 图片为空。原因在于,编辑状态,admin假定新增时的图片值为默认底图,而底图就是你看到的图片显示。在编辑状态 ,对于图片这种类似文件类型的表单input元素,如果没有添入图片(或换图),无论是单图,还是多图在编辑后提交 ,会使用上传文件对象(即编辑时没传图片没此对象,就报错)验证规则。因此,如果不想每次编辑状态,在有图情况下,未改图,却报图片为空。你可以这样做

           $form->image('image', '封面图片')->rules(function($form){
                if(!$id=$form->model()->id) {
                    return 'required|image';
                }
            });
  • 请求完以后 dom 操作比较好吧,感觉没必要刷新页面 at 1个月前

    正常情况下用vue做,数据驱动页面响应,并不会直接修改dom,此处只是为了演示。

  • 上传的头像不能正常显示 at 1个月前

    conifg/filesystems.php配置文件disks数组内增加下项,执行php artisan storage:link

    
            'admin' => [
                'driver'     => 'local',
                'root'       => storage_path('app/public/upload'),
                'visibility' => 'public',
                'url' => env('APP_URL').'/storage/upload',
            ],
    
  • 选择香港、澳门、台湾的时候,Chrome 开发工具控制台会报错,如何规避一下呢? at 1个月前

    省市区三级联动增加非大陆地区910000项,data.js添加关联数据项如下

       "650000": "新疆维吾尔自治区",
        "910000": "(非大陆地区)"
      },
      "910000": {
        "710000": "台湾省",
        "810000": "香港特别行政区",
        "820000": "澳门特别行政区",
      },
      "710000": {
        "710101": "金门",
        "710102": "连江",
        "710103": "苗栗",
        "710104": "南投",
        "710105": "澎湖",
        "710106": "屏东",
        "710107": "台东",
        "710108": "台中",
        "710109": "台南",
        "710110": "台北",
        "710111": "桃园",
        "710112": "云林",
        "710113": "新北",
        "710114": "彰化",
        "710115": "嘉义",
        "710116": "新竹",
        "710117": "花莲",
        "710118": "宜兰",
        "710119": "高雄",
        "710120": "基隆"
      },
  • User 类里默认没有引入 MustVerifyEmail 啊 at 1个月前

    @东 User模型的父类 Illuminate\Foundation\Auth\User 别名Authenticatable,中引入了Trait

    namespace Illuminate\Foundation\Auth;
    ...
    use Illuminate\Auth\MustVerifyEmail;
    ....
    
    class User extends Model implements
        AuthenticatableContract,
        AuthorizableContract,
        CanResetPasswordContract
    {
        use Authenticatable, Authorizable, CanResetPassword, MustVerifyEmail;
    }
    
  • Composer 没办法下载 Laravel at 1个月前

    @xjxjxj 很明显vi编辑完毕没有正确保存,系统将你修改后的内容保存到了同文夹下同名的.swap文件

  • 切换回 master,为什么提示这个错误 at 1个月前

    很显然该服务提供者需要在app配置文件内注册

  • 生成的 token 令牌在 jwt.io 验证时提示 Invalid Signature, 该如何处理? at 2个月前

    @Ellison 你需要在VERIFY SIGNATURE栏的文本框内,填写jwt对应的secret值。可以通过命令行查看

    php artisan jwt:secret -s
    8JJ5vngTqkM2jcUpL1iMQkiWfL2Sg1Fhpb9meLMvLkUMoFmVqe6ELL2B1UmiEdJS
  • 这里用 $type socialStore ($type, SocialAuthorizationRequest $request) 接收有点没看懂 at 2个月前

    @tamamonomae 在此只是作为普通方法的参数,变量名随便写,没有限定要求。有此疑问,估计是受隐式路由模型参数绑定的影响。但即便你要用隐式,只写$social_type反而是错了,因缺少对应的模型类型提示。

  • 老师 required_without 是设么意思,网上没找到答案 at 2个月前

    给定的参数字段不存在为空,则为必填项

  • 为什么要这样使用路由? at 2个月前

    @韩槑槑 其实你如果不想改,也可以保持laravel风格,只不过必改变了实现类而已
    原因是dingo扩展包提供了Dingo\Api\Facade\Route 端点门面,其最终指向 Dingo\Api\Routing\Router

    use Dingo\Api\Facade\Route;
    
    Route::version('v1', [
        'namespace' => 'App\Http\Controllers\Api',
        'middleware' => "serializer:array",
    ], function () {
        // 短信验证码
        Route::post('verificationCodes', 'VerificationCodesController@store')
            ->name('api.verificationCodes.store');
    
        // 用户注册
        Route::post('users','UsersController@store')
            ->name('api.users.store');
    });
    
  • 部署在服务器上面 CentOS ,后台用户列表报错? at 2个月前

    需要你手动创建一个avatar目录,本来没有它不会帮你自动创建,所以报错无效目录

  • 执行命令的时候获取不到记录的数据 at 2个月前

    你这个hgetall获取理应是昨天的访问数据,换而言之如果你昨天redis数据没有进行任务同步(未开启laravel任务调度器)的话,可以取值,若已同步,则不能获取,因你后续代码在同步入数据库后,会将其删除。还有如果你所有的数据都是今天访问测试,redis中没昨天访问数据记录,显然哪怕是执行同步也是没有内容的。如果想看访问数据有否入redis库,请单独连接redis,然后执行命令 keys *就显而易见了

  • 这里为什么可以这样写 $user = $this->find ($user_id); ? at 2个月前

    $this->find($user_id) $this是出现在trait内,它指向引入该trait的类实例。由于在User模型中引入了此trait, 此时$this即为User类的实例,而find只是User模型上的一个方法,其参数为模型的主键,所以其实是找去 user 表里面查找 与$user_id变量值相等的主键id记录,返回查询到的user模型实例

  • 计划任务不能生效? at 2个月前

    linux系统区分大小写

  • Horizon::auth () 不起作用,闭包函数没有调用? at 2个月前

    dd函数会中断程序的后续运行,相当于exit。如果你查看服务器日志,或php日志会发现它执行了。

  • 这是教程的第三遍,所以想弄的更加清楚。删除回复权限控制方法,源码疑问 ?? at 2个月前

    实际上app函数解析得到Illuminate\Auth\Access\Gate类实例,关键是raw方法的使用

        // Illuminate\Auth\Access\Gate.php 控制器内调用authorize方法,进相关trait, 终归入此法
        public function authorize($ability, $arguments = [])

    然后在该authorize方法内,又调用了raw方法,主要做了以下三件事

       public function raw($ability, $arguments = [])
        {
            $arguments = Arr::wrap($arguments); 
    
            $user = $this->resolveUser(); //获取当前认证用户实例
    
            // 1.首先,执行Gate的前置过滤回调,若有非null值返回,执行认证回调结果
            $result = $this->callBeforeCallbacks(
                $user, $ability, $arguments
            );
            // 2.其次,调用认证回调,在此期间会更根据资源模型推断对应的策略类,进而结合策略方法名进行调用
            if (is_null($result)) {
                $result = $this->callAuthCallback($user, $ability, $arguments);
            }
            // 3.后置回调,调用在Gate门面上注册与模型无关的闭包,可以做一些日志分析的动作
            return $this->callAfterCallbacks(
                $user, $ability, $arguments, $result
            );
        }

    其中步骤2会通过参数推断(通过在auth服务提供者时注$policies属性,模型类(参数类型)/策略类数组映射信息),分析得到策略类实例,然后调用对应的策略方法。