随笔分类 -  php

摘要:swoole单socket多读多写实现思路 方式一 利用通道的阻塞效果达成同一时刻只有一个协程能够访问到socket效果 # 伪代码 use Swoole\Coroutine; use Swoole\Coroutine\Channel; use function Swoole\Coroutine\r 阅读全文
posted @ 2022-03-12 23:50 alwayslinger 阅读(173) 评论(0) 推荐(0) 编辑
摘要:使用streamwrapper进行自定义解包封包 streamWrapper class stream wrapper和filter的关系:stream wrapper能够使resource流化,比如http://www.baidu.com/index.php,php内置的http stream w 阅读全文
posted @ 2022-03-06 21:40 alwayslinger 阅读(126) 评论(0) 推荐(0) 编辑
摘要:php中user_filter的使用 golang中io库提供了统一的流操作方法,php中存在类似功能吗?答案是有的,并且同golang相似地提供了统一的操作流(网络、 文件、压缩数据等数据的抽象)的方法。也就是说php的流函数提供了处理不同流资源的统一接口。 流数据各式各样,针对不同的流自然需要不 阅读全文
posted @ 2022-03-05 23:06 alwayslinger 阅读(106) 评论(0) 推荐(0) 编辑
摘要:PHP守护进程demo <?php class Daemon { private Closure $call; public function __construct(Closure $call) { $this->call = $call; $this->prepareDaemon(); } pr 阅读全文
posted @ 2022-03-04 14:59 alwayslinger 阅读(55) 评论(0) 推荐(0) 编辑
摘要:高性能Laravel日志服务 介绍 利用高性能seaslog日志扩展 会介绍三种方式将seaslog集成到laravel的日志服务 使用docker部署elk,将日志输出到elasticsearch 安装配置seaslog扩展 /path/to/phpize ./configure --with-p 阅读全文
posted @ 2021-02-14 00:20 alwayslinger 阅读(874) 评论(0) 推荐(0) 编辑
摘要:Laravel RateLimiter的使用 上文说道laravel auth脚手架自带的登陆方法中,存在尝试次数限制,今天来补上 # trait AuthenticatesUsers public function login(Request $request) { if (method_exis 阅读全文
posted @ 2021-01-20 01:44 alwayslinger 阅读(1408) 评论(0) 推荐(0) 编辑
摘要:Laravel Auth实现多表多字段用户认证 laravel提供了开箱即用的用户登录功能,6.0之前之前php artisan make:auth,6.0之后需要安装laravel/ui,然后执行 php artisan ui vue --auth npm install && npm run d 阅读全文
posted @ 2020-12-27 17:00 alwayslinger 阅读(764) 评论(0) 推荐(0) 编辑
摘要:swoole library提供的WaitGroup 开始之前请各位查看swoole文档,先熟悉下channel特性 swoole/library 使用非常简单,官方例子一步到位。直接上代码了 # WaitGroup <?php declare(strict_types=1); namespace 阅读全文
posted @ 2020-12-11 14:38 alwayslinger 阅读(292) 评论(0) 推荐(0) 编辑
摘要:php yield学习笔记(一) 说明yield关键字的说明网上有很多(文末会附上相关博客链接),这里我只说明我认为最基础的东西。那就是搞明白Iterator方法的调用顺序,以及Iterator方法在foreach中的对应关系。 yield使用介绍 yield实现协程调度 yield使用介绍 # I 阅读全文
posted @ 2020-12-10 22:42 alwayslinger 阅读(269) 评论(0) 推荐(0) 编辑
摘要:EasySwoole的ContextManager的分析和使用 ContextManager主要用来实现协程上下文的隔离,框架中实现隔离的原理简单粗暴,easyswoole使用了进程粒度的单例ContextManager将不同协程下的变量,以各协程为粒度,存储在各自协程id下,最终形式就是二维数组, 阅读全文
posted @ 2020-11-13 15:48 alwayslinger 阅读(323) 评论(0) 推荐(0) 编辑
摘要:Easyswoole的WaitGroup和Csp组件的分析和使用 easyswoole可真是个好名字,只是提供了恰到好处的封装,即使是源码也保持了这样的风格。这种风格不论好坏可能都需要各位适应下,哈哈。下面一起来感受下es中的实现吧。 -waitgroup在easyswoole中的实现和使用 -cs 阅读全文
posted @ 2020-10-29 20:05 alwayslinger 阅读(538) 评论(0) 推荐(0) 编辑
摘要:Laravel Event的分析和使用 第一部分 概念解释 请自行查看观察者模式 第二部分 源码分析 (逻辑较长,不喜欢追代码可以直接看使用部分) 第三部分 使用 第一部分 解释 当一个用户阅读了一篇文章,可能需要给文章增加点击量,给阅读的用户增加积分,给文章作者发送通知等功能。对于以上操作, 我们 阅读全文
posted @ 2020-09-30 23:17 alwayslinger 阅读(2467) 评论(0) 推荐(0) 编辑
摘要:Laravel驱动管理类Manager的分析和使用 第一部分 概念说明 第二部分 Illuminate\Support\Manager源码 第三部分 Manager类的使用 第一部分:概念解释 结合实际解释一下,啥是驱动:当我点了份外卖,那么外卖小哥无论如何都要讲外卖送到我的手中,我不会关心小哥走的 阅读全文
posted @ 2020-09-24 15:38 alwayslinger 阅读(882) 评论(0) 推荐(3) 编辑
摘要:Laravel Exception结合自定义Log服务的使用 第一部分:laravel关于错误和异常的部分源码 第二部分:自定义异常的使用(结合serviceprovider monolog elasticsearch) 过程中涉及到的重要函数请自行查看手册 error_reporting set_ 阅读全文
posted @ 2020-09-23 15:09 alwayslinger 阅读(1057) 评论(1) 推荐(3) 编辑
摘要:Laravel Response 响应客户端 本篇文章逻辑较长,只说明和响应生命周期相关的必要代码。 本文主要内容顺序为: 1、执行上文管道中的then方法指定的闭包,路由的分发 2、在路由器中(Router类)找到请求($request 也就是经过全局中间件处理的请求)匹配的路由规则 3、说明路由 阅读全文
posted @ 2020-09-02 15:00 alwayslinger 阅读(776) 评论(2) 推荐(2) 编辑
摘要:Laravel Pipeline原理及使用 开发中可能遇到非常冗长的逻辑,以至于我们想将针对性逻辑拆分出来,但是又拿不准该如何拆分才能实现较高的扩展性并保证较高的维护性,或者说不知道如何优雅的将待处理的数据在多个逻辑中传递,那么面向切面编程(AOP)可能会帮助到你。本文讲解laravel中一个AOP 阅读全文
posted @ 2020-08-14 20:21 alwayslinger 阅读(2245) 评论(0) 推荐(2) 编辑
摘要:Laravel ServiceProvider注册过程及简单使用 还记得facade注册流程吗?回顾下 在bootstrap/app.php中返回$app实例后,通过singleton方法绑定了三个实现,然后将$app返回给了index.php,在index.php中尝试解析了http kernel 阅读全文
posted @ 2020-08-04 16:59 alwayslinger 阅读(2821) 评论(0) 推荐(0) 编辑
摘要:Laravel Facade原理及使用 laravel过于庞大,加之笔者水平有限,所以后面的源码解读会按模块功能介绍,希望能帮大家稍微捋顺下思路,即使能够帮助大家回顾几个函数也好。如发现错误,还望指正。 facade工作方式,允许我们可以通过静态调用的方式直接使用容器中的服务 原理讲解,在larav 阅读全文
posted @ 2020-08-03 16:03 alwayslinger 阅读(2342) 评论(0) 推荐(1) 编辑
摘要:laravel kernel解析过程 前面的两篇laravel文章过后,可以在bootstrap/app.php中拿到$app这个实例, app.php中 接下来通过singleton方法绑定了三个闭包(闭包代表未完成解析,需要在使用到的时候动态解析)到容器中。 然后将$app返回到index.ph 阅读全文
posted @ 2020-07-31 13:29 alwayslinger 阅读(784) 评论(0) 推荐(0) 编辑
摘要:laravel容器初始化registerBaseServiceProviders方法 上篇讲解了laravel容器的基本使用和原理,这篇继续Application构造方法中的registerBaseServiceProviders方法 在app调用过registerBaseBindings方法后,打 阅读全文
posted @ 2020-07-30 15:51 alwayslinger 阅读(467) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示