laravel 以服务提供者的方式使用 elasticsearch

Backend

安装 安装elasticsearch官方扩展包 composer require elasticsearch/elasticsearch 以服务提供者的方式使用 elasticsearch 可以参考这篇文章:Laravel 以服务提供者的方式使用第三方扩展包 下面给出关键配置 config/es.php <?php declare(strict_types=1); return [ 'hosts' => explode(',', env('ELASTIC_HOSTS')),//['http://elasticsearch:9200'] 'username' => env(...

初步分析 Elasticsearch 文档

Backend

Query DSL Elasticsearch提供基于JSON的完整查询DSL(Domain Specific Language)来定义查询。 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html 例如: GET /_search { "query": { "bool": { "must": [ { "match": { "title": "Search" }}, { "match": { "content": "...

Laravel 使用 Json Web Token(JWT)

Backend

关于 JWT 之前写过 php - Json Web Token(JWT)的使用 go - gin 使用 Json Web Token(JWT) 今天总结下 Laravel 中 JWT 的使用 安装 composer require tymon/jwt-auth #发布配置 php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" #生成密钥,这将更新您的.env文件,例如JWT_SECRET=foobar php artisan jwt:secret 快速开始 更新你的...

Laravel Sanctum API 授权

Backend

Laravel Sanctum 为 SPA(单页应用程序)、移动应用程序和基于令牌的、简单的 API 提供轻量级身份验证系统。Sanctum 允许应用程序的每个用户为他们的帐户生成多个 API 令牌。这些令牌可以被授予指定允许令牌执行哪些操作的能力 / 范围。 简单来说,前后端分离的项目,使用 token 验证登陆状态,可以选它;另外,同类型的还有 jwt 比较火 安装 Laravel 9 已经包含了 Laravel Sanctum,所以下面的步骤看看就行了 composer require laravel/sanctum php artisan vendor:publish --prov...

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 ...