必装插件
1. 记录Sql日志语句
Laravel Query Logger github地址
注意,需要配置config/logging.php
2. 简化查询
Laravel Query Builder github地址 文档地址
3. 优雅的 SSH 远程任务执行工具
Envoy github地址 介绍地址
4. 极其好用的代码提示及补全工具
Laravel IDE Helper github地址 参考说明
5. 超大文件 xml/JSON/CSV 读取
Laravel Multi-format Streaming Parser github地址
6. wherehas性能优化
laravel-wherehasin github地址
7. 数据导出
laravel-excel 官方文档地址
————————————————
版权声明:本文为CSDN博主「fendouweiqian」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fendouweiqian/article/details/108224399
composer require workerman/phpsocket.io
laravel队列
rabbitmq
github: https://github.com/vladimir-yuldashev/laravel-queue-rabbitmq
laravel使用添加rabbitmq
composer require vladimir-yuldashev/laravel-queue-rabbitmq
在config/app.php文件中,providers数组中添加
VladimirYuldashev\LaravelQueueRabbitMQ\LaravelQueueRabbitMQServiceProvider::class,
在app/config/queue.php文件中,connections数组中添加
'rabbitmq' => [
'driver' => 'rabbitmq',
'host' => env('RABBITMQ_HOST', '127.0.0.1'),
'port' => env('RABBITMQ_PORT', 5672),
'vhost' => env('RABBITMQ_VHOST', '/'),
'login' => env('RABBITMQ_LOGIN', 'guest'),
'password' => env('RABBITMQ_PASSWORD', 'guest'),
'queue' => env('RABBITMQ_QUEUE'), // name of the default queue,
'exchange_declare' => env('RABBITMQ_EXCHANGE_DECLARE', true), // create the exchange if not exists
'queue_declare_bind' => env('RABBITMQ_QUEUE_DECLARE_BIND', true), // create the queue if not exists and bind to the exchange
'queue_params' => [
'passive' => env('RABBITMQ_QUEUE_PASSIVE', false),
'durable' => env('RABBITMQ_QUEUE_DURABLE', true),
'exclusive' => env('RABBITMQ_QUEUE_EXCLUSIVE', false),
'auto_delete' => env('RABBITMQ_QUEUE_AUTODELETE', false),
],
'exchange_params' => [
'name' => env('RABBITMQ_EXCHANGE_NAME', null),
'type' => env('RABBITMQ_EXCHANGE_TYPE', 'direct'), // more info at http://www.rabbitmq.com/tutorials/amqp-concepts.html
'passive' => env('RABBITMQ_EXCHANGE_PASSIVE', false),
'durable' => env('RABBITMQ_EXCHANGE_DURABLE', true), // the exchange will survive server restarts
'auto_delete' => env('RABBITMQ_EXCHANGE_AUTODELETE', false),
],
],
在.env中添加
QUEUE_DRIVER=rabbitmq
RABBITMQ_HOST=127.0.0.1
RABBITMQ_PORT=5672
RABBITMQ_VHOST=/
RABBITMQ_LOGIN=guest
RABBITMQ_PASSWORD=guest
RABBITMQ_QUEUE=queue_name
PS.默认的.env文件中已经有QUEUE_DRIVER参数修改一下
守护进程
相关文章
supervisor 安装配置使用 | Laravel China 社区 重点
supervisord安装使用简记 - wswang - 博客园
mac配置
laravel通过supervisor管理beanstalkd任务队列_gelove的专栏-CSDN博客
在linux中,如果想让它在后台执行,可以这样:
nohup php artisan queue:listen &
看了下laravist
//写了配置文件
sudo supervisorctl reread
//更新我们的进程
sudo supervisorctl update
//启动进程就是program的名字
sudo supervisorctl start laravel-worker:*
beanstalkd
一些用法可以参考这篇
https://www.kancloud.cn/jdxia/jdxia-phpnote/450163
服务通信接口
composer require phpxmlrpc/phpxmlrpc
https://github.com/rockxsj/supervisor
laravel中使用
composer下载
composer require pda/pheanstalk
在.env中队列驱动改为beanstalkd
QUEUE_DRIVER=beanstalkd
其他部分不变
可视化页面
一种是phpBeanstalkdAdmin
http://mnapoli.fr/phpBeanstalkdAdmin/
还有一种是
https://github.com/ptrofimov/beanstalk_console
我们用第二种来看下
到github上下载下来,到目录下
php -S localhost:7654 -t public
在网页上打开,然后点击Add server,写ip和端口
如果ip和端口写了,还是不行,那要看下beanstalk的配置文件了
应该是/etc下面具体百度吧,他监听端口listen_addr是127.0.0.1,由于你是在外界,所以访问不到,把他改为0.0.0.0
throttle 中间件介绍(可设置访问白名单)
Laravel 访问限制 throttle 中间件 | Laravel China 社区
下载地址:
https://github.com/GrahamCampbell/Laravel-Throttle
JSON-RPC
https://github.com/thiagof/laravelrpc
composer require thiagof/laravelrpc
https://github.com/vohof/transmission
Install through Composer:
{
"require": {
"vohof/transmission": "1.0.*"
}
}
composer update vohof/transmission --no-dev
https://github.com/upgate/laravel-jsonrpc
Install with composer: composer require upgate/laravel-jsonrpc
https://github.com/eyeseaevan/monerophplaravel
Install with composer: composer require upgate/laravel-jsonrpc
其中beanstalkd是一种比较专业的队列服务驱动器,是一个常驻后台服务,我们可以通过它提供的接口来把任务提交给它,由它创建的守护进程来执行队列。
beanstalkd的php驱动包为pda/pheanstalk
https://github.com/pheanstalk/pheanstalk
composer require pda/pheanstalk 2.*
3.使用Swoole提升Laravel的性能
在现有的轮子中,感觉下面这两个还是非常不错的,可以自行选择
- swooletw/laravel-swoole https://github.com/swooletw/laravel-swoole
- garveen/laravoole https://github.com/garveen/laravoole 包含Workerman
博主选择了第一个,不要问我为什么,任性!然后我们就开始吧!
使用composer安装:
composer require swooletw/laravel-swoole
Laravel-Swoole-Http
一个基于Swoole的高性能HTTP Server,帮助你大幅度地提高网站的并发能力。
当然,现在它也支持WebSocket Server。
3、然后使用composer安装package:
$ composer require huang-yi/laravel-swoole-http
队列系统解决方案:Laravel Horizon
队列系统解决方案:Laravel Horizon | 官方扩展包 | Laravel 5.7 中文文档
一、在你的 laravel目录中的 composer.json 文件中,添加这部分
{
"require": {
"hprose/hprose": ">=2.0.0"
}
}
composer update hprose/hprose --no-dev
二.使用laravel扩展:Laravel-hprose
基于 hprose/hprose-php 开发的Laravel扩展:laravel-hprose
https://github.com/zhuqipeng/laravel-hprose
安装
composer require "zhuqipeng/laravel-hprose:v1.0-alpha"
或者编辑composer.json
"require": {
"zhuqipeng/laravel-hprose": "v1.0-alpha"
}
composer update zhuqipeng/laravel-hprose --no-dev
作者:安正超
链接:https://www.zhihu.com/question/24136962/answer/36068575
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
laravel-wechat
# Laravel < 5.8
composer require "overtrue/laravel-wechat:~4.0"
# Laravel >= 5.8
composer require "overtrue/laravel-wechat:~5.0"
Laravel 其实已经包含了这个扩展包了,但是我觉得有必要单独提一下,因为用得还是比较多的。在日期处理方面的确帮了很大忙。
这个扩展包能够提供更多深层的运行信息,方便你修复bug,让应用高效、流畅的运行。
Envoy 能帮你在远程系统上运行 SSH 命令。在本地系统和远程部署时它都帮了很大的忙。
这个扩展包将 DomPDF 库包装成 Laravel 化的调用语法,让创建 PDF 很轻松。
使用生成器能够加速开发过程。它所包含的指令几乎涵盖了 Laravel 开发中的方方面面。
如果你在使用 PhpStorm,那么这个工具包是必须要装的。我在所有项目中都使用了它,这让 IDE 使用起来很 nice。
每个项目几乎都要处理图片上传的功能,Intervention 让图片上传和处理 so easy!
解析 Markdown 就靠它了!快速、稳定、易于使用。
原文出处:8 Laravel Packages For Your Next Project
译文出处:推荐8个优秀的Laravel包
补充两个我自己做的包:
laravel-lang Laravel 5 多国语言包,包含37种语言
laravel-pinyin Laravel 5 中文转拼音
下载量最高的 100 个 Laravel 扩展包推荐
Laravel 另一个令人喜欢的地方,是拥有活跃的开发者社区,而活跃的开发者社区带来的,是繁华的扩展包生态。
本文对 Packagist 上打了 Laravel 标签 的扩展包进行整理,截止到现在 2016 年 8 月 9号,有超过 7176 个扩展包,以下是下载量最大的 100 个。
相信下面这 100 个扩展包会让你的编码更加高效 :beers:
为了方便跟踪文章修改和接受 PR,已将项目发布到 https://github.com/summerblue/laravel-package-top-100 ,有错别字什么的,麻烦大家提个 PR。