一些好用的资源(库、网站、框架、工具)

PHP技术
479
0
0
2022-10-01
其实这个是我两年前在论坛发的帖子的延续,原帖不再更新。

前言

话说那是个百无聊赖的晚上,我,无事可做,边突发奇想发了这一文章。

其实很多资源都是我从 GitHub Explore 、别人的 Star 记录里看来的,这边推荐大家无聊的时候也可以看看 GitHub 的 Explore,里边有很多有趣的项目,或者也可以订阅日报什么的,每天看看还是不错的。

原本打算每个资源都整一个功能预览之类,但因为我太懒了,所以…

排名按字母排序!

正文

cakephp/chronos (github.com/cakephp/chronos)

不可变的 Carbon

与 Carbon 基本一致,区别在于这个库的实例是不可变的,只会返回新实例,不能修改原有实例。

dragonmantank/cron-expression (github.com/dragonmantank/cron-expr...)

一系列关于 CRON 表达式的方法

包括计算下次执行时间、此时是否应该执行等。

halaxa/json-machine (github.com/halaxa/json-machine)

快速读取超大 JSON 文件(数据)

支持逐行读取 JSON 文件,避免内存离家出走,速度很快。

hidehalo/nanoid-php (github.com/hidehalo/nanoid-php)

Nanoid 的 PHP 实现,唯一 ID 生成器

与 UUID 的作用基本一致,但更简短友好。

intervention/image (image.intervention.io)

Intervention Image 是一个 PHP 图像处理和操作库,提供了一种更简单,更有表现力的方式来创建,编辑图像。

推荐理由:这是我用过的最好的一款图像处理扩展,莫有之一。

itsgoingd/clockwork (underground.works/clockwork)

Clockwork 是一个浏览器扩展,提供调试和分析PHP应用程序的工具,包括请求数据,应用程序日志,数据库查询,路由,应用程序运行时的可视化等。

推荐理由:可以很方便地进行调试,且支持 Chrome / Firefox 的插件以及网页查看。

jasny/phpdoc-parser (github.com/jasny/phpdoc-parser)

PHPDoc 解析器

可以解析各种不同的 PHPDoc 标签,支持自定义。

jelix/version (github.com/jelix/version)

版本号解析库

koriym/koriym.attributes (github.com/koriym/Koriym.Attribute...)

兼容 Doctrine Annotation 接口的 PHP8 Attribute 解析库

可以同时解析 Doctrine Annotation 和 PHP8 Attribute!

league/climate (github.com/thephpleague/climate)

终端样式库

封装了很多用于输出终端颜色、样式代码的方法,支持输入、表格、进度条等功能。

league/plates (github.com/thephpleague/plates)

原生 PHP 模板引擎

完全基于原生语法,不需要像 Blade、Twig 那样学习新的语法,适合喜欢原生或者不想学习的人。有模板继承、转义等功能。可以方便地集成到不同框架。

league/uri (github.com/thephpleague/uri)

URI 操作库

提供了很多解析、操作 URI 的方法,功能非常强大。

maatwebsite/excel (laravel-excel.maatwebsite.nl)

Laravel Excel 是一个可以快捷实现模型导入及导出成Excel的扩展。

推荐理由:配置相对较少,代码没有那么繁复。

mledoze/countries (github.com/mledoze/countries)

国家及地区信息库,包含多种形式的数据:JSON、CSV、YAML、XML。

包含了地区代码、首都信息、使用语言、边境、旗帜、下属地区的一系列信息。

php-http/httplug (github.com/php-http/httplug)

基于 PSR-7 / 18 规范的 HTTP 抽象客户端

这并不是一个 HTTP 客户端,你需要搭配其他实现了 PSR-7 / 18 规范的客户端使用,但它可以确保不管你使用哪个客户端都可以达到同样的效果。

roave/betterreflection (github.com/Roave/BetterReflection)

更好的反射,对原生反射 API 的封装和扩展。

相比原生的反射有了不少的进步,比如可以直接基于文件进行分析,不需要实际引入代码,可以解析 AST 树等。

spatie/backtrace (github.com/spatie/backtrace)

更好的调用栈!

不得不说,PHP 原生的调用栈实在太难用了,解析过于麻烦。

spatie/emoji (github.com/spatie/emoji)

用编程方式操作表情符号(Emoji)

简单来说就是封装了一堆方法来获取 Emoji 字符,这样就不用自己找了。

spatie/laravel-permission (github.com/spatie/laravel-permissi...)

Laravel Permission 用于管理权限、角色。

推荐理由:设计较优,代码便捷,且有实战教程可供参考。

spatie/macro (github.com/spatie/macroable)

通过宏的方式给类添加方法

如果你用过 Laravel 的话应该对宏的用法不陌生,可以大大提升一个类的扩展性。

spatie/once (github.com/spatie/once)

可以让一个方法的返回永远是第一次执行的值

对于一些只在开始时生成一次的随机数来说用处颇大。

spatie/string (github.com/spatie/string)

字符串操作库

提供了很多操作字符串的方法,支持链式调用。

symfony/polyfill-php80 (github.com/symfony/polyfill-php80)

提供 PHP7 的 PHP8.0 函数的替代实现(好吧是有点绕

想在 PHP7 上用 PHP8 的函数?那这个适合你。

网站

Adorable Avatars (avatars.adorable.io)

一个面向Web开发人员和设计人员的随机头像服务。

推荐理由:我喜欢他的头像风格。

Creative Tim (www.creative-tim.com)

很多精美的UI包以及模板,免费和付费都有。

推荐理由:有不少UI包及模板都是基于Boostrap的。

Json Parser Online (json.parser.online.fr)

在线解析 Json 字符串,支持高亮、显示值类型、显示数组索引等,同时支持 ParseEval 两种方式进行解析。

Laravel China (laravel-china.org)

高品质Laravel开发者中文交流社区

Regex101 (regex101.com)

正则表达式测试

除了基本功能外,还自带正则分享功能,可以搜到很多常用的正则表达式。还可以一键导出 PHP、JS、Golang 等代码实现。

Simple Icons (simpleicons.org)

提供了大量品牌的图标,且每个图标都附有该品牌的代表色。

推荐理由:想不到。反正我经常在这找品牌图标的配色。

Socialite Providers (socialiteproviders.netlify.com)

大量开箱即用的第三方登录扩展。

推荐理由:我找不到比这更全的了。

Spatie (spatie.be/open-source)

Spatie 发布了大量实用的扩展。
发布了大量实用的扩展。

前端

Bootstrap (getbootstrap.com)

最受欢迎的前端框架,有着庞大的用户群及社区。

推荐理由:兼容性极高,社区生态丰富。

Editor.md (pandao.github.io/editor.md)

开源在线 Markdown 编辑器。

推荐理由:虽然版本久远了点,但功能全且不过时。

Font Awesome (fontawesome.com)

不错的图标库,支持Font Class、Svg等方式。

推荐理由:使用方便,与Bootstrap框架兼容。

Material Design Icon (material.io/tools/icons)

Material风格的图标库。

推荐理由:使用方便,与不少基于Material设计风格的框架兼容。

Single Element CSS Spinners (projects.lukehaas.me/css-loaders)

一组非常漂亮的可用于加载的CSS3动效。

推荐理由:感觉还不错,可以自定义配色。

UIkit (getuikit.com)

轻量级的前端框架,可开发快速,强大的Web界面。

推荐理由:不写了,自己感受。

框架

Hyperf (github.com/hyperf/hyperf)

Swoole WEB/微服务开发框架

与 Swoole 深度集成。

Laravel (laravel.com)

一款相当强大的全栈框架,可以说占据了半壁江山。

推荐理由:封装了各种常用的函数,社区庞大。

PhpBoot (phpboot.org)

为快速开发 微服务 / RESTful API 设计的 PHP 框架。

推荐理由:用 Annotation 语法来编写路由,请求参数及返回值等,蛮有趣的。

Slim (www.slimframework.com)

轻量级框架,可以快速开发。

推荐理由:没有 Laravel 那么臃肿,效率不错,且支持 MVC 和 ORM 等,还可以使用 Blade 作模板引擎。也是我最近使用的一款框架。

ThinkPHP (www.thinkphp.cn)

为 API 而生的高性能框架。目前有不少人在用,在国内相当热门。

zhamao-robot/zhamao-framework (github.com/zhamao-robot/zhamao-fra...)

兼容 OneBot 协议的机器人开发框架,可以方便地对接 QQ 等通信平台。
利益相关:我是维护者之一。

工具

krakjoe/pcov (github.com/krakjoe/pcov)

代码覆盖率检测驱动,建议与 PHPUnit 搭配使用

与 XDebug 不同的是它更加轻量、兼容性更高,兼容 Swoole。

Psysh (github.com/bobthecow/psysh)

交互式控制台

我用过最好用的,如果你喜欢 Laravel Artisan Tinker 的话你也一定会喜欢它。

juicyfx/vercel-php (github.com/juicyfx/vercel-php)

Vercel PHP 运行时

Vercel 是个静态网站和 Serverless 的部署服务,类似 Heroku。在国内的访问还是不错的,这个 vercel-php 就是让 Vercel 可以支持部署基于 PHP 的项目。亲测可用于部署 Laravel 9 项目。

phpstan/phpstan (github.com/phpstan/phpstan)

静态代码分析器

我只能说每个项目都应该有它,可以帮你发现许多潜在的 BUG 和隐患,同类型的还有 Psalm、Phan。

本文章随作者心情更新。

如果你发现了好用的资源,也可以在下方留言或私信我,我会不定期添加到合集中。

我自觉排版不算特别好,如果你有什么建议也欢迎留言。