laravel配置日志的链路追踪

在 Laravel 应用中,记录日志我们可以这样:<?php namespace Tests\Unit; use Illuminate\Support\Facades\Log; use Tests\TestCase; class ExampleTest extends TestCase { /** * A basic test example. *

- 阅读全文 -

Laravel使用terminate记录API的响应时间,请求参数和响应值

Laravel 的中间件有一个叫做 terminate 的方法,如果我们实现了该方法,那么在 Laravel 整个生命周期执行快要结束的时候,Laravel 就会执行这个方法,方法结构如下:public function terminate($request, $response) { }它有两个参数,一个是 $request ,另外一个是 $response 。也就是本次请求的参

- 阅读全文 -

利用 go-laravel-broadcast 实现laravel的即时通讯

最近,小滕基于Go写了 laravel-echo-server 的Go语言版本,开源仓库地址:https://github.com/Qsnh/go-laravel-broadcast ,感兴趣的小伙伴可以去看下。下面是是 go-laravel-broadcast 的使用教程:环境Laravel5.8RedisStep首先,修改 EventServiceProvider 文件,在 $listen 添

- 阅读全文 -

lumen引入laravel的notification

Lumen的性能要高出laravel一大截,很大一部分原因是因为加载的文件变少了,少了非常多,但是正因为少了很多文件,功能方面也就丢失了很多,所以如果需要用到laravel的一些功能,还需要自己集成进去,今天就来演示下如何集成laravel的notification。lumne本身是不带有这个的。首先,看下我的lumen版本:Laravel Framework Lumen (5.6.4) (Lar

- 阅读全文 -

php单元测试的覆盖率

由于绩效中写到了代码的单元测试覆盖率,于是就准备在每次需求上线前导出下覆盖率报告,就有了下面的配置。首先,覆盖率的统计需要用到扩展 xdebug ,所以先安装下:pecl install xdebug可能需要手动添加 zend_extension=xdebug.so这里给出一份我本地的测试。目录结构是这样的:├── app │   └── Demo.php ├── composer.json ├─

- 阅读全文 -

Laravel如何修改request的值

如何在request验证之前修改request里面的值?我们可以这样:<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class DemoRequest extends FormRequest { /** * Determine if the user is

- 阅读全文 -

laravel的collection的pluck方法的妙用

比如说,有这样一张表 sku :它有三个字段:skuid,spuid,skcid现在我有一个数组:$skuIds = [1, 2, 3];现在呢,我想读取出 $skuIds 所对应的 skcid ,然后组装成一个数组,数组的格式是这样的:$arr = [ // skuid => $skcid ];这样的话我就可以直接通过 skuid 来获取到对应的 skcid 了,之前我是这样做的:

- 阅读全文 -

Laravel使用Kafka异步延迟写入日志的方法

日志写入量较高的情况下,需要考虑一个缓冲器来延迟写入日志,这里给的是Kafka的方法。我的环境Laravel5.5Kafka需要安装的扩展包扩展包解释nmred/kafka-phpKafka的PHP扩展包开始首先,我们需要自定义一个 LogHandler 来替代 Laravel 内置的日志记录服务,于是,我在 app/Hubs 创建了 KafkaLogHandler.php :<?php

- 阅读全文 -

在Laravel中利用模型事件清除冗余数据

比如说,用户与角色是多对多关系,通过中间表关联,那么,在删除一个角色的时候,对应的中间表数据也需要删除,否则就产生冗余数据了,一般通常是这样写的:$role->users()->detach(); $role->delete();写两行代码,先清空与用户的关系,在删除自身。其实我们也可以利用事件这样写:在 ROLE 模型中这样定义:protected static functio

- 阅读全文 -

laravel的optional的详细使用

Laravel 的辅助函数 optional() 我们经常使用到,它是避免我们直接从一个 null 变量上读取属性导致报错的问题,我们可以这样:optional($user)->name如果 $user 为 null 的话,那么直接 $user->name 系统会报错的,但是使用 optional($user)->name 在 $user 为 null 的情况下整个语句返回 nu

- 阅读全文 -

Laravel的绑定接口实现

来看下代码:protected function registerUserResolver() { $this->app->bind( AuthenticatableContract::class, function ($app) { return call_user_func($app['auth']-&

- 阅读全文 -