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
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 - 博客园
队列 | 进阶系列 | Laravel 5.4 中文文档
使用 supervisor 管理进程 - 李林克斯
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
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
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是一种比较专业的队列服务驱动器,是一个常驻后台服务,我们可以通过它提供的接口来把任务提交给它,由它创建的守护进程来执行队列。
About – beanstalkd
beanstalkd的php驱动包为pda/pheanstalk
https://github.com/pheanstalk/pheanstalk
composer require pda/pheanstalk 2.*
3.使用Swoole提升Laravel的性能
在现有的轮子中,感觉下面这两个还是非常不错的,可以自行选择
博主选择了第一个,不要问我为什么,任性!然后我们就开始吧!
使用composer安装:
composer require swooletw/laravel-swoole
仓库2224147
一个基于Swoole的高性能HTTP Server,帮助你大幅度地提高网站的并发能力。
当然,现在它也支持WebSocket Server。
3、然后使用composer安装package:
$ composer require huang-yi/laravel-swoole-http
队列系统解决方案:Laravel Horizon | 官方扩展包 | Laravel 5.7 中文文档
Laravel框架RPC解决方案--Hprose - 简书
一、在你的 laravel目录中的 composer.json 文件中,添加这部分
{
"require": {
"hprose/hprose": ">=2.0.0"
}
}
composer update hprose/hprose --no-dev
基于 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 < 5.8
composer require "overtrue/laravel-wechat:~4.0"
# Laravel >= 5.8
composer require "overtrue/laravel-wechat:~5.0"
Carbon
Laravel 其实已经包含了这个扩展包了,但是我觉得有必要单独提一下,因为用得还是比较多的。在日期处理方面的确帮了很大忙。
Debugbar
这个扩展包能够提供更多深层的运行信息,方便你修复bug,让应用高效、流畅的运行。
Envoy
Envoy 能帮你在远程系统上运行 SSH 命令。在本地系统和远程部署时它都帮了很大的忙。
Laravel DomPDF
这个扩展包将 DomPDF 库包装成 Laravel 化的调用语法,让创建 PDF 很轻松。
Laravel Generators
使用生成器能够加速开发过程。它所包含的指令几乎涵盖了 Laravel 开发中的方方面面。
Laravel IDE Helper
如果你在使用 PhpStorm,那么这个工具包是必须要装的。我在所有项目中都使用了它,这让 IDE 使用起来很 nice。
Intervention
每个项目几乎都要处理图片上传的功能,Intervention 让图片上传和处理 so easy!
Parsedown
解析 Markdown 就靠它了!快速、稳定、易于使用。
原文出处:8 Laravel Packages For Your Next Project
译文出处:推荐8个优秀的Laravel包
补充两个我自己做的包:
laravel-lang Laravel 5 多国语言包,包含37种语言
laravel-pinyin Laravel 5 中文转拼音
Laravel 另一个令人喜欢的地方,是拥有活跃的开发者社区,而活跃的开发者社区带来的,是繁华的扩展包生态。
本文对 Packagist 上打了 Laravel 标签 的扩展包进行整理,截止到现在 2016 年 8 月 9号,有超过 7176 个扩展包,以下是下载量最大的 100 个。
相信下面这 100 个扩展包会让你的编码更加高效 :beers:
为了方便跟踪文章修改和接受 PR,已将项目发布到 https://github.com/summerblue/laravel-package-top-100 ,有错别字什么的,麻烦大家提个 PR。
排名 | 下载次数 | Star 数 | 扩展包 | 一句话描述 |
---|---|---|---|---|
1 | 2883968 | 3968 | intervention/image | 图片处理扩展包,支持裁剪、水印等处理,使用教程请见 [扩展推荐] Intervention/image 图片处理 | Laravel China 社区 |
2 | 2215372 | 3694 | barryvdh/laravel-debugbar | 页面调试工具栏 (对 phpdebugbar 的封装),教程请见:[扩展推荐] Laravel-debugbar 开发调试利器 | Laravel China 社区 |
3 | 2173424 | 3570 | barryvdh/laravel-ide-helper | 使用 IDE 开发 Laravel 项目的好帮手,支持 Facade 方法跳转,相关讨论请见:[扩展推荐] Laravel-ide-helper 高效的 IDE 智能提示插件 | Laravel China 社区 |
4 | 1269005 | 2396 | maatwebsite/excel | Excel 处理工具,中文处理时会出现乱码,推荐使用 laravel-snappy,历史讨论请见 关于 DomPDF 导出中文乱码问题 | Laravel China 社区 |
5 | 1131952 | 702 | aws/aws-sdk-php-laravel | 亚马逊 AWS 服务的开发者工具包,亚马逊云已经在 2016 年 8 月 正式落地中国,这个包以后会常用到,教程请见:[扩展推荐] AWS-sdk-PHP-Laravel AWS 官方 SDK | Laravel China 社区 |
6 | 750405 | 1016 | jenssegers/agent | 客户端 User Agent 解析工具(基于 Mobiledetect),教程请见:[扩展推荐] Laravel User Agent 轻松识别客户端信息 | Laravel China 社区 |
7 | 711842 | 216 | bugsnag/bugsnag-laravel | Bugsnag 服务集成包(异常捕获服务,可惜国内访问效果不好),教程请见:[扩展推荐] bugsnag-Laravel Bugsnag 官方 SDK | Laravel China 社区 |
8 | 683268 | 3268 | zizaco/entrust | 基于用户组的用户权限系统(必备),教程请见:Entrust - Laravel 用户权限系统解决方案 | Laravel China 社区 |
9 | 644651 | 821 | barryvdh/laravel-cors | 跨域资源共享的支持 |
10 | 571221 | 963 | barryvdh/laravel-dompdf | PDF 操作工具(基于 dompdf ) |
11 | 548367 | 1172 | laravelbook/ardent | 自动 数据模型 验证工具 |
12 | 534650 | 2364 | tymon/jwt-auth | JWT (JSON Web Token) 用户认证机制,示例项目 Lumen + dingoapi + jwt 的例子 | Laravel China 社区 |
13 | 496656 | 1977 | lucadegasperi/oauth2-server-laravel | OAuth 2.0 支持,实例教程:用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 |
14 | 468263 | 595 | maknz/slack | Slack 服务的集成 |
15 | 423728 | 1920 | jenssegers/mongodb | MongoDB 数据库的支持 ,教程:Ubuntu 14.04 下安装 MongoDB 服务器 和 PHP MongoDB Driver 数据驱动 | Laravel China 社区 |
16 | 390006 | 4061 | dingo/api | 构建 API 服务器的完整解决方案,教程:在 Laravel 中使用 OAuth2 初步配置 | Laravel China 社区 |
17 | 370341 | 912 | itsgoingd/clockwork | 配合 Chrome 浏览器下同名插件的调试工具,教程:使用 Clockwork 来调试 Laravel App | Laravel China 社区 |
18 | 357552 | 600 | anahkiasen/underscore-php | Underscore.js 类似的 PHP 语法支持 |
19 | 355742 | 1191 | laracasts/generators | Laracasts 出品的代码快速生成工具(推荐) ,使用教程:[扩展推荐] Laravel-5-Generators-Extended 代码生成器 | Laravel China 社区 |
20 | 344522 | 1200 | cviebrock/eloquent-sluggable | 文章标题 URL 别名处理工具,教程:[扩展推荐] 如何使 Laravel 项目中的 URL 更友好化 | Laravel China 社区 |
21 | 344237 | 382 | laracasts/testdummy | Laracasts 出品的假数据创建工具 |
22 | 321543 | 709 | davejamesmiller/laravel-breadcrumbs | 页面面包屑工具,教程:[扩展推荐] Laravel Breadcrumbs 自动面包屑导航 | Laravel China 社区 |
23 | 309529 | 962 | laracasts/utilities | 将 PHP 变量转换为 JavaScript 变量 |
24 | 304501 | 621 | roumen/sitemap | Sitemap 生成工具 |
25 | 303660 | 827 | yajra/laravel-datatables-oracle | jQuery DataTables 的后端支持 |
26 | 302076 | 336 | webpatser/laravel-uuid | RFC 4122 标准生成的 UUID ,使用教程 [扩展推荐] Laravel-uuid 通用唯一识别码 | Laravel China 社区 |
27 | 301605 | 535 | rcrowe/twigbridge | Twig 模板引擎支持 |
28 | 294356 | 218 | intervention/imagecache | 图片缓存增强工具 |
29 | 289380 | 958 | indatus/dispatcher | 计划任务分发器(直接可替换掉 Cron),L5 内置了类似的功能 |
30 | 234578 | 589 | jenssegers/date | 日期处理工具(让 Carbon 支持多语言,中文用户的福音) |
31 | 234151 | 715 | rap2hpoutre/laravel-log-viewer | 非常方便的页面 Log 查看工具,必备,不过使用时请注意访问权限控制 |
32 | 204976 | 1109 | baum/baum | 嵌套集合 (Nested Set) 模型的支持,教程:使用 Baum 嵌套集合模型来实现 Laravel 模型的无限极分类 | Laravel China 社区 |
33 | 204619 | 2146 | anahkiasen/rocketeer | 现代化的服务器代码部署工具 |
34 | 194675 | 1026 | anahkiasen/former | 强大的表单构造器,教程请见 [扩展推荐] former 具有 Bootstrap 风格的表单生成助手 | Laravel China 社区 |
35 | 190032 | 375 | barryvdh/laravel-snappy | HTML 生成 PDF/Image 工具(利用 wkhtmltopdf) |
36 | 184879 | 361 | thujohn/twitter | Twitter API 的支持 |
37 | 184078 | 228 | orchestra/testbench | Laravel 扩展包的单元测试工具 |
38 | 181799 | 258 | graham-campbell/flysystem | 文件系统操作,多平台支持(AWS,Dropbox 等) |
39 | 180921 | 342 | mews/purifier | 用户提交的 Html 白名单过滤,Laravel 4 XSS 解决方案 HTMLPurifier for Laravel 4 | Laravel China 社区 |
40 | 175355 | 349 | laracasts/presenter | Laracasts 出品的 Presenter 方案 |
41 | 172640 | 852 | venturecraft/revisionable | 数据模型的操作记录(如管理员操作日记) |
42 | 168707 | 995 | mcamara/laravel-localization | Laravel 本地化功能增强 |
43 | 166917 | 366 | league/factory-muffin | 允许更加方便的创建对象,一般在测试中常用(基本上是 ROR 的 factory_girl 的复制版) |
44 | 165140 | 271 | robclancy/presenter | Elequent 的 Presenter 方案 |
45 | 163835 | 150 | intouch/laravel-newrelic | 应用状态监控服务 NewRelic 开发者工具包 |
46 | 157930 | 855 | xethron/migrations-generator | 从现存的数据中以 migration 的形式导出数据库表,包括索引和外键,相当于 数据库迁移 |
47 | 149079 | 410 | greggilbert/recaptcha | reCAPTCHA 验证码的支持 |
48 | 144971 | 594 | watson/validating | 以 Trait 的方式来实现 Eloquent 数据模型保存的时候自动验证 |
49 | 142284 | 814 | dimsav/laravel-translatable | 数据库的多语言翻译方案 |
50 | 138661 | 120 | laracasts/behat-laravel-extension | Behat 测试框架的 Laravel 支持 |
51 | 137782 | 200 | jenssegers/rollbar | Rollbar 错误监控服务的自动集成 |
52 | 134723 | 330 | torann/geoip | 通过 IP 获取到对应的地理位置信息(GeoIP 数据库),请参考:[扩展推荐] geoip 获取 IP 地理信息 | Laravel China 社区 |
53 | 133803 | 658 | davibennun/laravel-push-notification | App 的 Push Notification 发送工具,支持苹果的 APNS 和 安卓的 GCM |
54 | 128523 | 168 | chumper/zipper | ZIp 打包工具(基于 ZipArchive) |
55 | 127700 | 244 | simplesoftwareio/simple-qrcode | 二维码生成工具 |
56 | 125421 | 374 | graham-campbell/markdown | Markdown 解析器 |
57 | 125315 | 164 | aloha/twilio | Twillio API 支持 |
58 | 123623 | 295 | propaganistas/laravel-phone | 手机号码,电话号码验证支持 |
59 | 121845 | 421 | orangehill/iseed | 将数据从数据库以 seed 的方式导出,数据填充 的逆向操作。(推荐) |
60 | 121350 | 380 | sammyk/laravel-facebook-sdk | (非官方)Laravel 的 Facebook 开发者工具包 |
61 | 120891 | 497 | vinkla/hashids | Hash ID 生成器,方便把数字的 ID 隐藏(基于Hashids),教程:[扩展推荐] hashids 将数字序列混淆为字符串 | Laravel China 社区 |
62 | 116939 | 993 | spatie/laravel-backup | 数据备份工具,支持压缩,支持各种文件系统(推荐) |
63 | 116718 | 459 | mccool/laravel-auto-presenter | 自动注入 Presenter,教程:Laravel Presenter 在 Controller 的使用 | Laravel China 社区 |
64 | 111879 | 270 | graham-campbell/throttle | 阀门控制工具 |
65 | 106306 | 1766 | frozennode/administrator | 快速创建基于数据模型的 CRUD 管理员后台,教程:Laravel-Administrator 快速创建数据管理后台 | Laravel China 社区 , 使用 Laravel-Administrator 快速生成数据模型管理员后台教程 | Laravel China 社区 |
66 | 105181 | 430 | codesleeve/laravel-stapler | 专为 ORM 定制的文件上传支持 |
67 | 100442 | 307 | webpatser/laravel-countries | 世界所有国家数据,包括首都汇率等 |
68 | 97451 | 848 | prettus/l5-repository | Repository 开发模式的支持 |
69 | 96491 | 371 | pragmarx/google2fa | 用户认证方案,支持谷歌提倡的双向认证和 HOTP 认证算法 |
70 | 94117 | 195 | hisorange/browser-detect | 浏览器检测工具,包括客户端对 JavaScript 和 CSS 支持情况的检测,教程:Laravel 中识别客户终端设备类型的组件:browser-detect | Laravel China 社区 |
71 | 93442 | 277 | graham-campbell/htmlmin | 基于 minify 的 HTML 压缩工具 |
72 | 90609 | 156 | toin0u/geocoder-laravel | 地理位置操作工具集(基于Geocoder) |
73 | 89845 | 491 | edvinaskrucas/notification | 页面消息提醒的组件 |
74 | 89333 | 403 | laracasts/integrated | PHPUnit 的集成测试支持 |
75 | 88682 | 779 | laravel/envoy | Laravel 官方出品的简单的部署工具,教程:Laravel Envoy 优雅的 SSH 远程任务执行工具 | Laravel China 社区 |
76 | 86793 | 137 | felixkiss/uniquewith-validator | 表单验证规则增加字段之间的唯一性验证 |
77 | 81211 | 200 | graham-campbell/exceptions | 错误异常处理工具,支持开发和生产环境,使用 Whoops 进行错误显示 |
78 | 81076 | 163 | thomaswelton/laravel-gravatar | Gravatar 服务的支持 |
79 | 79494 | 477 | mews/captcha | 图片验证码方案,使用教程请见:[扩展推荐] mews/captcha 图片验证码解决方案 | Laravel China 社区 |
80 | 79387 | 222 | roumen/feed | Feed 生成器 |
81 | 79241 | 164 | cviebrock/image-validator | 表单验证增加图片专属,如长宽,比例等 |
82 | 77849 | 125 | laravelcollective/annotations | 基于注解方式生成路由、事件、模型绑定的映射 |
83 | 77061 | 870 | gloudemans/shoppingcart | 一个简单的购物车模块实现 |
84 | 75852 | 149 | artisaninweb/laravel-soap | Soap 协议客户端 |
85 | 75476 | 260 | jlapp/swaggervel | Swagger API 规范支持 |
86 | 73124 | 480 | barryvdh/laravel-translation-manager | 翻译辅助工具,包含 Web 界面 |
87 | 72532 | 515 | patricktalmadge/bootstrapper | Twitter Bootstrap 支持 |
88 | 68952 | 133 | soapbox/laravel-formatter | 对不同输出格式进行转换,支持Array,CSV,JSON,XML,YAML |
89 | 66968 | 155 | fedeisas/laravel-mail-css-inliner | 将 CSS 样式写入 HTML 里,用于邮件发送内容的样式定制 |
90 | 66881 | 747 | nicolaslopezj/searchable | 以 Trait 的形式为 Eloquent 模型增加搜索功能 |
91 | 65754 | 109 | benconstable/phpspec-laravel | PHPSpec BDD 测试框架的 Laravel 扩展 |
92 | 65489 | 193 | watson/rememberable | 让 Laravel 5 数据模型支持 remember() 方法 |
93 | 63895 | 373 | rtconner/laravel-tagging | 为 Eloquent 模型增加打标签功能 |
94 | 62932 | 68 | laravelcollective/remote | LaravelCollective 维护的 SSH 连接管理工具 |
95 | 60917 | 226 | khill/lavacharts | Google 图表 JavaScript API 的封装 |
96 | 60203 | 115 | anchu/ftp | 让 Laravel 支持 FTP 操作 |
97 | 58556 | 355 | liebig/cron | 计划任务分发器(直接可替换掉 Cron),L5 内置了类似的功能 |
98 | 57174 | 348 | lord/laroute | JavaScript 读取路由信息的解决方案 |
99 | 57053 | 643 | spatie/laravel-analytics | Google 统计数据获取工具 |
100 | 56639 | 118 | hieu-le/active | 非常方便的方案来判断导航元素的 active 状态,使用教程请见:[扩展推荐] hieu-le/active 根据 url 生成对应导航的 active 状态 | Laravel China 社区 |