i炮兵

i炮兵 查看完整档案

恩施编辑  |  填写毕业院校施南传媒/OwOIT  |  创始人 编辑 h5.owoit.com/idawn 编辑
编辑

if else

个人动态

i炮兵 收藏了文章 · 2020-08-30

收藏了8年的PHP优秀资源,都给你整理好了

最后更新于 2020.02.06

以下是我整理好的 PHP 资源,各位看官拿去用,不用再自己找了。

GitHub 上稳定更新,觉得不错请点个 Star ❤️

如转载分享,请保留出处,谢谢 😆

原文地址: https://shockerli.net/post/ph...

GitHub: https://github.com/shockerli/...

资源站点

项目框架

  • laravel-admin - 快速构建后台管理的开发工具
  • Voyager - Laravel 后台管理框架
  • FastAdmin - 基于 ThinkPHP5 + Bootstrap 的极速后台开发框架
  • YFCMF - 后台内容管理框架,基于 ThinkPHP5.1
  • ThinkCMF - 后台内容管理框架,基于 ThinkPHP5
  • RhaPHP - 微信开发、小程序开发、微信公众号管理系统
  • OneBase - 基于 ThinkPHP5 的后台开发框架

成品软件

未归类

CMS

  • Grav - 基于文件的 CMS
  • October - 基于 Laravel 开发的 CMS

社区

  • Flarum - 基于 PHP 和 Mithril.js 开发的轻社区
  • PHPDish - 基于 Symfony 框架开发的内容社区系统
  • Koel - 音乐社区🎵

文件管理

微信相关

项目管理

构建/部署

  • Phabricator - 用于敏捷开发的项目管理软件, 含代码托管、Code Review、任务管理、文档管理、问题跟踪、构建与持续集成、博客、内部聊天等

  • Walle - Web系统部署工具
  • Piplin - 持续集成系统
  • Phing - PHP项目构建工具
  • Deployer - PHP项目部署工具
  • PHPCI - 持续集成工具

基础框架

类库

未归类

路由

异步/协程

  • Amp - 非阻塞协程并发框架
  • Recoil - 异步协程框架
  • Promise - Promises/A implementation for PHP
  • Guzzle Promises - Promises/A+ library for PHP with synchronous support

前端相关

  • PHP-CSS-Parser - PHP 实现的 CSS 解析器
  • Minify - JS 和 CSS 压缩工具
  • Munee - 一个集图片尺寸调整、CSS-JS 合并/压缩、缓存等功能于一身的PHP库

聊天/短信

文本处理

算法

语法解析

代码检查/静态分析

CLI

错误/异常

调试工具

API

  • phprs - 一款轻量、类 jax-rs、实用的 PHP 框架
  • graphql-php - GraphQL 参考实现的 PHP 移植版本
  • Dingo API - A RESTful API package for the Laravel and Lumen frameworks

安全

加密/解密

时间/日期

  • Chinese calendar - 中国农历(阴历)与阳历(公历)转换与查询工具
  • Carbon - 时间日期处理类

微信

网页抓取/代理

URL/Domain

OAuth

Auth

  • jwt-auth - JSON Web Token Authentication for Laravel & Lumen

API文档

数据库

队列/任务

  • RoboTask - 面向对象的 PHP 任务运行器
  • PHP-Queue - 管理队列后端的应用
  • RoboTask - PHP 后台任务组件
  • Task - 一个灵感来源于 Grunt 和 Gulp 的纯 PHP 任务运行器
  • php-resque - PHP 版Resque
  • taskPHP - 基于原生态 PHP 开发的定时计划任务框架
  • SimpleFork - 精简的 PHP 多进程控制库

缓存

Markdown

邮件

Office

PDF/条形码

  • Barcode - Barcode 生成工具
  • Snappy - 根据 URL 或 HTML 页面生成图片或 PDF 格式的缩略图
  • TCPDF - 使用官方 PDF 类生成 PDF 文档和条形码生成工具
  • FPDF - 利用纯 PHP 代码生成 PDF 文件
  • PDFParser - PDF 文档解析库
  • Dompdf
  • Browsershot - 将 HTML 转换为图像、PDF 或字符串

HTTP/网络通信

表单校验

测试框架

模板引擎

图像处理

Composer

最好用的 PHP 包管理器,没有之一

PHP 扩展

  • pickle - PHP 扩展安装工具
  • PHPTrace - 跟踪和分析 PHP 脚本的工具
  • Zephir - 编写 PHP 扩展的编程语言
  • Yaconf - 高性能的配置管理扩展
  • php-beast - PHP 源码加密模块

PHP相关软件/工具


感谢您的阅读,觉得内容不错,点个赞吧 😆

原文地址: https://shockerli.net/post/ph...
查看原文

i炮兵 关注了标签 · 2020-08-19

关注 117

i炮兵 关注了用户 · 2019-11-01

RancherLabs @rancher

Rancher是业界顶尖的企业级容器管理平台,是业界首个且唯一可以管理所有云上、所有发行版、所有Kubernetes集群的平台。解决了生产环境中企业用户可能面临的基础设施不同的困境,改善Kubernetes原生UI易用性不佳以及学习曲线陡峭的问题,是企业落地Kubernetes的不二之选。目前已有超过一亿次下载,超过20000家企业客户。

关注 485

i炮兵 提出了问题 · 2019-10-13

cdn 全站加速开启图片自动瘦身后图片体积反而变大了

应该是因为我们界面的图片都用tinypng这样的工具压缩过
我想问的是不能智能一点吗?如果压缩后比原来的大就还是用原来的啊

关注 2 回答 1

i炮兵 关注了用户 · 2019-07-06

huangzhhui @huangzhhui

Creator of Hyperf

关注 550

i炮兵 关注了标签 · 2019-01-09

swoole

Swoole:重新定义PHP

swoole.pngPHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
Swoole可以广泛应用于互联网、移动通信、企业软件、网络游戏、物联网、车联网、智能家庭等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。

关注 1204

i炮兵 评论了文章 · 2019-01-08

使用 mixphp 处理其他框架 20% 的高并发部分

经常在群里听到一些朋友问:TP 的项目怎么迁移到 mixphp 来处理高并发,我通常都是回复需要重写,可是一个开发很久的 TP 项目,代码量巨大,又怎么可能会花大量时间成本来重写呢?

那么为何我们不尝试换一种思路来解决问题?

在现有框架不变的情况下,引入 mixphp 来处理高并发的部分。

瓶颈分析

二八效应在任何领域都存在,如果你做过多个项目,你就会发现:

一个项目中高并发的接口或页面,通常只占到项目的 20% 以下。

具体会有哪些场景

一些常见的高并发场景的问题:

  • APP 用户数据采集接口:由于是通过接口按秒定时上传用户数据,随着用户量的增长,QPS 极高,该类型需求是写库动作,无法使用缓存优化。
  • 股票行情展示:由于需每秒查询股票的实时数据,随着用户量的增长,QPS 极高,即便可以使用缓存给数据库减压,但是频繁的请求任然使应用服务器不堪重负。

一些常见的大量计算场景的问题:

  • 定时统计:定时统计表中大量的数据,一个进程计算太慢,多个进程计算又有数据不同步的问题。

如何使用 mixphp 优化

1. 高并发场景(写库 / 或者耗时计算):

在 TP 的接口中使用消息队列,把要入库的数据写入 redis 的 list 类型中。

$redis->lpush($key, $data);

然后在 mixphp 中使用多进程服务来消费这个队列:

DEMO (V1):https://github.com/mix-php/mi...

mixphp 的多进程服务有很多传统框架所不具备的特点:

  • 平滑重启:当 kill 主进程时,子进程处理完工作再退出,不丢失数据。
  • 高容错:子进程异常奔溃时,主进程将重建子进程。
  • 高性能:多进程运行,充分利用多个CPU并行计算,性能强劲。
  • 使用灵活:工作进程使用生产者消费者模型,生产者/消费者的数量都可自定义。

2. 高并发频繁查询场景(增加缓存依然达到瓶颈):

该种场景瓶颈已经不在数据库,因为 HTTP 接口是请求响应式,如此频繁的请求,不断的建立与关闭连接消耗了太多的服务器性能,这时需使用长连接协议 WebSocket 来优化。

使用 mixphp 的 WebSocketd 封装,能很快就搭建一个数据推送系统,解决 API 轮询的性能瓶颈:

DEMO (V1):https://github.com/mix-php/mi...

3. 大量数据计算场景:

如果从一个数据表中取出大量数据,一个进程计算又太慢了,如果分多个进程分页去查询后,再分开计算,速度是快了,但是如果查询中数据有变化,因为每个进程分别会查一次数据库,就会导致有的数据遗漏没有计算到、有的又被多次计算,导致计算结果错误。

这时使用 mixphp 的多进程服务就不会有这个问题,mixphp 的多进程服务在进程内部做了生产者消费者模型,只需使用一个进程去数据表取出数据,然后一行一行发送给消费者进程去计算,这样就高效安全的完成了一次大量计算。

MixPHP

GitHub: https://github.com/mixstart/m...
官网:http://www.mixphp.cn/

查看原文

i炮兵 回答了问题 · 2018-12-01

解决Windows 10 Docker 挂载目录在docker 中修改不了目录权限

题主这个问题解决了没?wsl子系统这个问题解决方法不知道适用于docker不

关注 4 回答 3

i炮兵 收藏了文章 · 2018-07-20

利用svg页面高斯模糊

先在页面任意区域放上这段代码
stdDeviation设置模糊量,最低0

<svg style="display:none">
    <filter id="blur-effect-1">
        <feGaussianBlur stdDeviation="1"/>
    </filter>
    <filter id="blur-effect-2">
        <feGaussianBlur stdDeviation="2"/>
    </filter>
</svg>

在dom上调用模糊效果

document.body.style.filter='url(#blur-effect-2)' //调用2级模糊量

document.body.removeAttribute("style");//关闭模糊效果
查看原文

i炮兵 收藏了文章 · 2018-07-14

用svg动画实现图片点击效果以便在公众号文章中使用

用svg动画实现图片点击效果以便在公众号文章中使用

需求

编辑喵先生跟我说他想实现一个想法,想在微信公众号文章中实现一个效果,点击图片,显示文字。问我可不可以做到。

困难

  1. 微信公众号的编辑器无法嵌入css代码和js代码
  2. 微信公众号编辑器无法编辑html代码,只能放入纯图片

方法

svg中使用png图片作为填充,同时加上文字,并设置文字动画效果

实现

  1. image标签设置图片url会不显示,所以将png/jpg转base64编码
  2. animate标签嵌入到text标签内,否则其他的元素也会旋转
  3. opacity首先要设置为0,否则初始的时候会出现
  4. fill属性设置为freeze,否则opacity又会变成0

Code

<svg id="svg" width="320" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <defs>  
        <pattern id="avatar" width="100%" height="100%" patternContentUnits="objectBoundingBox">  
            <image width="1" height="1" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgA"/>  
        </pattern>
    </defs>

    <rect id="circle" x="0" y="0" width="320" height="200" fill="url(#avatar)"/>

    <text font-family="microsoft yahei" font-size="120" y="160" x="160" opacity="0">马
        <animate attributeName="opacity" from="0" to="1" begin="circle.click" fill="freeze" dur="3s" />
    </text>
</svg>
查看原文

认证与成就

  • 获得 41 次点赞
  • 获得 21 枚徽章 获得 0 枚金徽章, 获得 6 枚银徽章, 获得 15 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2012-11-02
个人主页被 938 人浏览