Laravel Scout 包在 Elasticsearch 中的应用 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

laravel Scout包在elasticsearch中的应用================================laravel的Scout包是针对自身的Eloquent模型开发的基于驱动的全文检索引擎。意思就是我们可以像使用ORM一样使用检索功能。不管你用的是什么搜索引擎,scout包给你封装好了几个方法```phpuse Laravel\Scout\Builde...
阅读全文

Laravel + go-micro + grpc 实践基于 Zipkin 的分布式链路追踪系统 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

本文首发在我的,欢迎关注! ](https://lccdn.phphub.org/uploads/images/201706/28/205/qUpmuB9ASO.png)分布式调用链跟踪系统,属于监控系统的一类。系统架构逐步演进时,后期形态往往是一个平台由很多不同的服务、组件构成,用户请求过来后,可能会经过其中多个服务,如图 ](https://lccdn.php...
阅读全文

Laravel 的消息队列剖析 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

laravel的消息队列剖析==============这篇来自于看到朋友转的58沈剑的一篇文章:在实际工作中也不止遇见过一次这个问题,我在想着以前是怎么处理的呢?我记得当初在上家公司的时候直接使用的是laravel的queue来实现的。当然,这里说的laravel的queue实际上也是基于redis的队列实现的。正好今天遇上这个问题,追下底层机制。使用如下:```php...
阅读全文

PHP 笔试面试题精选(一) | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

(原文地址:)本期题目重点涉及基础知识,安全,跨域,及两个简单的设计模式,预告下期重点是:计算机网络,WebSocket,http协议,tcp协议相关一、PHP部分1.函数内部 static 和 global 关键字的作用static 是静态变量,在局部函数中存在且只初始化一次,使用过后再次使用会使用上次执行的结果; 作为计数,程序内部缓存,单例模式中都有用到。glob...
阅读全文

Laravel 跨域解决方案 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

我们在用 `laravel` 进行开发的时候,特别是前后端完全分离的时候,由于前端项目运行在自己机器的指定端口(也可能是其他人的机器) , 例如 `localhost:8000` , 而 `laravel` 程序又运行在另一个端口,这样就跨域了,而由于浏览器的同源策略,跨域请求是非法的。其实这个问题很好解决,只需要添加一个中间件就可以了。1. 新建一个中间件 ```p...
阅读全文

像使用 Laravel Query 一样的搜索 Elasticsearch | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

需要使用到ES大数据引擎,但无奈,不管是官方包还是Github上都没有找到自己想要的,那还说什么呢,自己操刀来一份吧。Github地址:Composer和安装和Laravel下的加载Version MatrixElasticsearch Versioncrcms/elasticsearch Branch= 6.01.= 5.0, < 6.00.Insta...
阅读全文

Laravel HTTP——Pipeline 中间件装饰者模式源码分析 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

前言本文 GitBook 地址: 当所有的路由都加载完毕后,就会根据请求的 `url` 来将请求分发到对应的路由上去。然而,在分发到路由之前还要经过各种中间件的计算。`laravel` 利用装饰者模式来实现中间件的功能。从原始装饰者模式到闭包装饰者装饰者模式是设计模式的一种,主要进行对象的多次处理与过滤,是在开放关闭原则下实现动态添加或减少功能的一种方式。下面先看一个装...
阅读全文

Laravel Queue——消息队列任务与分发源码剖析 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

前言本文 GitBook 地址: 在实际的项目开发中,我们经常会遇到需要轻量级队列的情形,例如发短信、发邮件等,这些任务不足以使用 `kafka`、`RabbitMQ` 等重量级的消息队列,但是又的确需要异步、重试、并发控制等功能。通常来说,我们经常会使用 `Redis`、`Beanstalk`、`Amazon SQS` 来实现相关功能,`laravel` 为此对不同的后台队列服务...
阅读全文

PHPer 面试指南-协议篇 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

Git 地址:每次面试多多少少都会被问到 HTTP、HTTPS、TCP、Socket、 OAuth 等等之类协议,协议相关的问题也可以说是面试必备,所以我把这些知识单独收集成了一篇文章。 网络协议有哪些? 应用层:HTTP、FTP、SSH、SMTP 表示层 会话层 传输层:TCP、UDP 网络层:IP 数据链路层 物理层...
阅读全文

Laravel 生成假数据步骤 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

1. 生成数据模型 我们为资源推荐模型取名 Link ,使用命令行新建模型,顺便创建数据库迁移:$ php artisan make:model Models/Link m 修改数据库迁移文件为以下:{timestamp}\_create\_links_table<?phpuse Illuminate\\Support\\Facades\\Schema; ...
阅读全文