Backend

Laravel 表单验证失败跳首页的解决办法

Backend

首先,官方不觉得这是一个问题 如果在传统 HTTP 请求期间验证失败,则会生成对先前 URL 的重定向响应。如果传入的请求是 XHR,将将返回包含验证错误信息的 JSON 响应。 https://learnku.com/docs/laravel/9.x/validation/12219#quick-writing-the-validation-logic 问题复现 cuiwei@weideMacBook-Pro ~ % curl -X POST 'http://laravel.cw.net/api/login' \ --header 'Content-Type: application/js...

laravel 代码提示 - laravel-ide-helper

Backend

在开发过程中,可能会遇到有些代码不能跳转,如下图 laravel-ide-helper 可以解决这个问题。 使用 composer require --dev barryvdh/laravel-ide-helper #低版本Laravel 5.5 composer require --dev barryvdh/laravel-ide-helper v2.4.1 php artisan ide-helper:generate php artisan ide-helper:meta #模型注释 composer require --dev doctrine/dbal php artisan ...

Laravel 用户认证

Backend

应用的身份认证一般包含两种:web 浏览器认证和API 认证 基于 web 浏览器的身份验证:常见于前后端混合开发的项目,php混合html模版;使用session+cookie完成身份验证。现在很少见了 基于 api 的身份验证:常见于前后端分离的项目,一套api同时给前端,Android,iOS提供服务;使用token完成身份验证。也是当下最流行的开发模式 在其核心,Laravel 的用户认证是由「看守器」和「提供器」。看守器定义如何对每个请求的用户进行身份验证。例如,Laravel 附带了一个 session 守护程序,它使用 session 存储和 cookie 来维护状态。 提...

docker-compose 快速部署 Soketi

Backend

docker-compose version: '3' # 使用外部网络 # docker network create server_web-network networks: server_web-network: external: true services: docker-soketi: image: 'quay.io/soketi/soketi:1.5.0-16-debian' # environment: # SOKETI_DEBUG: '1' # SOKETI_METRICS_SERVER_PORT: '9601' # ...

php 高精确度运算 - bc函数

Backend

项目中存储金额一般用int(分),或者decimal(8,2),如果用 decimal 会涉及到精度问题。比如:比较字符串0.01和0哪个大,结果是一样大,因为php会把0.01强转为0,这就不符合预期了 #两个任意精度的数字除法计算 bcdiv('200', '100', 2);//分转元,200/100 #比较两个任意精度的数字 bccomp($price, $step, 2) #两个任意精度数字的加法计算 bcadd($price, $step, 2) #两个任意精度数字的减法 bcsub($price, $step, 2) //将两个任意精度数字相乘 bcmul($sku->pric...

docker 从容器创建新镜像,及镜像的备份和恢复

Backend

从容器创建新镜像:docker commit 备份/恢复镜像:docker save + docker load 将容器直接导出为tar包/导入:docker export + docker import docker commit 操作的是容器。从容器创建新镜像 https://docs.docker.com/engine/reference/commandline/commit/ cuiwei@weideMacBook-Pro server % docker ps CONTAINER ID ...

Laravel 广播

Backend

安装 服务端 付费方案 Pusher Channels Ably 这里不作介绍 开源方案 laravel-websockets 安装请移步 https://www.cuiwei.net/p/1659113677 Soketi 安装请移步 https://www.cuiwei.net/p/1093836635 前端 安装 laravel-echo npm install --save-dev laravel-echo pusher-js 以私人频道为例 场景如下:用户支付完成,前端需要从后端获取支付结果,并展示给用户 基本流程 后端 配置 注册BroadcastServicePr...

docker-compose 快速部署 laravel-websockets

Backend

安装 # 通过composer安装 composer require beyondcode/laravel-websockets # 发布迁移文件 php artisan vendor:publish --provider="BeyondCode\LaravelWebSockets\WebSocketsServiceProvider" --tag="migrations" # 执行迁移 php artisan migrate # 发布WebSocket配置文件 php artisan vendor:publish --provider="BeyondCode\LaravelWebSock...

Laravel 消息通知

Backend

创建通知 php artisan make:notification InvoicePaid 这个命令会在 app/Notifications 目录下生成一个新的通知类。每个通知类都包含一个 via 方法以及一个或多个消息构建的方法比如 toMail 或 toDatabase,它们会针对特定的渠道把通知转换为对应的消息。 发送通知 使用 Notifiable Trait 该方法默认包含在应用程序的 App\Models\User 模型中: <?php namespace App\Models; use Illuminate\Foundation\Auth\User as Authenti...

Laravel 发送邮件

Backend

简单使用 配置 以阿里企业邮为例,修改.env文件 MAIL_MAILER=smtp MAIL_HOST=smtp.mxhichina.com MAIL_PORT=25 MAIL_USERNAME=notifications-noreply@a.com MAIL_PASSWORD=123 MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=notifications-noreply@a.com MAIL_FROM_NAME=notifications-noreply 关于MAIL_ENCRYPTION参数,我查看了源码,它的值只有tls和其他,tls即ssl加密,源...