导航

内容来源于网络

前言

分享Github开源项目,在玩的过程中学习,2023年每天的目标就是研究几个项目,寻找点乐趣。

开源项目

001.pinyin

基于 CC-CEDICT 词典的中文转拼音工具,更准确的支持多音字的汉字转拼音解决方案,示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
echo $pinyin; // nǐ hǎo shì jiè

// 直接将对象转成字符串
$string = (string) $pinyin; // nǐ hǎo shì jiè

$pinyin->toArray(); // ['nǐ', 'hǎo', 'shì', 'jiè']

// 直接使用索引访问
$pinyin[0]; // 'nǐ'

// 使用函数遍历
$pinyin->map('ucfirst'); // ['Nǐ', 'Hǎo', 'Shì', 'Jiè']

// 拼接为字符串
$pinyin->join(' '); // 'nǐ hǎo shì jiè'
$pinyin->join('-'); // 'nǐ-hǎo-shì-jiè'

// 转成 json
$pinyin->toJson(); // '["nǐ","hǎo","shì","jiè"]'
json_encode($pinyin); // '["nǐ","hǎo","shì","jiè"]'

更多使用方法,可以查看帮助文档:

1
2
3
4
5
6
7
8
9
10
11
php ./bin/pinyin --help

# Usage:
# ./pinyin [chinese] [method] [options]
# Options:
# -j, --json 输出 JSON 格式.
# -c, --compact 不格式化输出 JSON.
# -m, --method=[method] 转换方式,可选:name/phrase/permalink/polyphones/chars/nameAbbr/abbr/sentence.
# --no-tone 不使用音调.
# --tone-style=[style] 音调风格,可选值:default/none/number.
# -h, --help 显示帮助.
002.VulApps

用于快速搭建各种漏洞环境,可用来学习、理解常见的漏洞,增强自己在开发过程的安全意识

003.typecho

PHP 的一款博客程序,官网文档

004.nextcloud server

开源云存储平台,功能齐全,可以用于搭建公司内部的云存储平台

005.arithmetic-php

PHP 语言实现的各类算法合集

006.dzzoffice

一套开源办公套件,适用于企业、团队搭建自己的 类似 Google 企业应用套件、微软 Office365 的企业协同办公平台。在线演示

007.wooyun_public

乌云公开漏洞、知识库爬虫和搜索

008.Biny

腾讯开源的一款高性能的超轻量级PHP框架,用于快速开发现代 Web 应用程序。代码简洁优雅,对应用层,数据层,模板渲染层的封装简单易懂,能够快速上手使用,文档齐全。高性能,框架响应时间在 1ms 以内,单机 qps 轻松上3000。

  • 支持跨库连表,条件复合筛选,查询PK缓存等
  • 同步异步请求分离,类的自动化加载管理
  • 支持Form表单验证,支持事件触发机制
  • 支持浏览器端调试,快速定位程序问题和性能瓶颈
  • 具有sql防注入,html自动防xss等特性
009.meedu

开源免费的在线教育系统,支持在线点播、在线电子书、会员收费三大模块。在线尝试

010.laravel-s

用于快速集成 SwooleLaravel,开箱即用。特点:

  • 集成 LaravelS 之后无需使用 PHP FPM,直接基于 Swoole 开启 HTTP Server
  • 代码常驻内存之中,性能提升非常明显
  • 可快速开发 WebSocket/TCP/UDP 服务
  • 支持异步任务队列、自定义进程、定时任务,支持更多的业务场景
  • 可直接使用 Swoole 的很多特性
  • 等等

011.PasteMe

快速分享文本、代码的网站项目。支持加密、一键复制、永久保存、阅后即焚等功能。在线示例

012.php-console

使用简单,功能全面的 PHP 命令行应用库。提供控制台参数解析、命令运行、颜色风格输出、 用户信息交互等功能

013.CRMEB

基于 ThinkPhp5.0 + Vue + EasyWeChat 开发的一套开源、免费新零售商城系统(集客户关系管理+营销电商系统)。能够帮助企业基于微信公众号、小程序、PC、APP 等,实现会员管理、数据分析、精准营销的电子商务管理系统。满足企业新零售、预约、O2O、多店等各种业务需求,反正就是功能强大、适用于多种场景的商城系统

014.PHP-Interview-QA

《PHP 面试问答》结合实际 PHP 面试经验,系统地汇总面试中的各类的问题,并尝试提供简洁准确的答案,为你面试 PHP 相关岗位提供“秘籍”。

包含:网络协议、数据结构与算法、PHP基础、Web、MySQL、Redis、自我介绍、离职原因、职业规划等部分。

015.wizard

一款基于 Laravel 开发框架的开源文档管理系统。目前已经在多家公司部署使用,支持:Markdown、Swagger 文档管理,公司内部的统一身份认证系统(LDAP)等功能

016.FreshRSS

一个 PHP 写的免费自托管 RSS 阅读器(free and free),据说上万条订阅都不带卡顿。可分配多账户、支持第三方安卓、iOS 客户端、支持 FEVER API 协议,与 Rsshub 搭配使用,完美解决 RSS 重度用户的痛点。是 RSS 爱好者的福音和神器

017.SyncMusic

基于 PHP Swoole 开发的在线弹幕点歌台。支持自由点歌、切歌、调整排序、删除指定音乐以及基础权限分级

018.code6

一款 GitHub 代码泄露监控系统,通过定期扫描 GitHub 发现代码泄露行为。特性:

  • 全可视化界面,操作部署简单
  • 支持 GitHub 令牌管理及智能调度
  • 扫描结果信息丰富,支持批量操作
  • 任务配置灵活,可单独配置任务扫描参数
  • 支持白名单模式,主动忽略白名单仓库

019.parsedown

一个小而美的 PHP 的 Markdown 解析库。该库提供了标准 Markdown 文本转化成 HTML 字符串功能,并拥有良好的文档。它的主文件只有一个,除了 PHP 版本限制必须高于 5.3 外几乎无依赖,可通过 composer 引入,也可以直接使用 Parsedown.php 文件。该项目中使用大量正则表达式,可作为学习正则表达式的示例,并且有完整的单元测试。

示例代码:

1
2
$Parsedown = new Parsedown();
echo $Parsedown->text('Hello _Parsedown_!'); # prints: <p>Hello <em>Parsedown</em>!</p>
020.php-curl-class

该开源项目封装了 PHP 的 cURL 库,使得发送 HTTP 请求变得简单。适用于需要 PHP 爬虫或者其它模拟 HTTP 访问的情况。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
require __DIR__ . '/../vendor/autoload.php';

use Curl\Curl;

// curl --request GET "https://httpbin.org/get?key=value"

$curl = new Curl();
$curl->get('https://httpbin.org/get', [
'key' => 'value',
]);

if ($curl->error) {
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
}

021.clean-code-php

PHP 代码的整洁之道,整理了一系列整洁代码实操。小到变量细道 SOLID 都有涉猎,中文译版

022.laravel-tips

Laravel 编码技巧集合。中文

023.easy-sms

短信发送 PHP 组件。

特点:

  • 支持目前市面多家服务商
  • 一套写法兼容所有平台
  • 简单配置即可灵活增减服务商
  • 内置多种服务商轮询策略、支持自定义轮询策略
  • 等等
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
use Overtrue\EasySms\EasySms;

$config = [
// HTTP 请求的超时时间(秒)
'timeout' => 5.0,

// 默认发送配置
'default' => [
// 网关调用策略,默认:顺序调用
'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class,

// 默认可用的发送网关
'gateways' => [
'yunpian', 'aliyun',
],
],
// 可用的网关配置
'gateways' => [
'errorlog' => [
'file' => '/tmp/easy-sms.log',
],
'yunpian' => [
'api_key' => '824f0ff2f71cab52936axxxxxxxxxx',
],
'aliyun' => [
'access_key_id' => '',
'access_key_secret' => '',
'sign_name' => '',
],
//...
],
];

$easySms = new EasySms($config);

$easySms->send(13188888888, [
'content' => '您的验证码为: 6379',
'template' => 'SMS_001',
'data' => [
'code' => 6379
],
]);
024.dootask

在线项目管理平台。功能包括任务分配、文档协作、即时 IM、文档协作、文件管理等

025.esupdater

基于 Canal 的 ES 增量更新框架。适用于把 MySQL 的增量数据,实时更新到 ES 实现同步更新搜索数据

026.humhub

用 PHP 写的开源社交平台。看过《社交网络》的小伙伴,都知道大名鼎鼎的 Facebook 最早就是扎克伯格用 PHP 语言写出来的,humhub 能够让不会编程的小伙伴也可以用创建出一个社交平台啦。跟着提示一步步操作,不到 1 分钟我的社交平台就建好了。点击访问

027.actionview

一个类 Jira 的开源问题需求跟踪平台。前端基于 React+Redux 后端采用 PHP 的 Laravel 框架实现

028.question2answer

采用 PHP+MySQL 实现的免费开源的问答平台。基本上问答平台该有的功能它都有,那么问题来了是做个知乎还是 Stack Overflow 呢?

  • 支持回答投票、评论、最佳回答、关注和关闭问题
  • 完备的用户和权限管理
  • 多语言支持
  • 搜索时的相似问题匹配
  • 等等

029.dompdf

一个HTML转PDF的PHP库。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml('hello world');

// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF to Browser
$dompdf->stream();
030.PHPMailer

应该是最流行的 PHP 发邮件的开源库。很多知名 PHP 开源项目中都有它的身影,比如:WordPress、Yii 等,支持你对发邮件的所有开发需求。

看看示例代码,就知道使用起来有多简单啦:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
//Import PHPMailer classes into the global namespace
//These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

//Load Composer's autoloader
require 'vendor/autoload.php';

//Create an instance; passing `true` enables exceptions
$mail = new PHPMailer(true);

try {
//Server settings
$mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
$mail->isSMTP(); //Send using SMTP
$mail->Host = 'smtp.example.com'; //Set the SMTP server to send through
$mail->SMTPAuth = true; //Enable SMTP authentication
$mail->Username = 'user@example.com'; //SMTP username
$mail->Password = 'secret'; //SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
$mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`

//Recipients
$mail->setFrom('from@example.com', 'Mailer');
$mail->addAddress('joe@example.net', 'Joe User'); //Add a recipient
$mail->addAddress('ellen@example.com'); //Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

//Attachments
$mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name

//Content
$mail->isHTML(true); //Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
031.video_spider

视频去水印工具。原理很简单就是根据输入的视频的地址,返回原平台无水印的视频源地址。

目前支持 15 个视频平台,在线尝试

032.github-profile-views-counter

用来展示 GitHub 个人首页被访问次数的项目。使用方法:

1
2
![](https://komarev.com/ghpvc/?username=your-github-username&color=green)   //Named color
![](https://komarev.com/ghpvc/?username=your-github-username&color=dc143c) //Hex color

033.icon-workshop

移动应用图标生成工具。能够一键生成多种尺寸的 iOS/Android 应用图标和 APP 启动图

034.freenom

免费域名自动续期工具。因为顶级免费域名供应商 Freenom,提供的免费域名需要每年续期,该项目可以自动完成域名续期,让你轻松拥有免费的顶级域名。

035.framework

简约大方的论坛项目。这是一个用 PHP+Mithril 开发的免费、美观、简单、速度快的论坛系统

036.course-tencent-cloud

PHP 写的网课平台。依托腾讯云基础服务架构,采用 Phalcon 框架开发的网课系统,支持付费、点播、直播、专栏、问答、会员、秒杀等功能。

037.Piwigo

一款开源在线相册应用。采用 PHP+MySQL 开发的管理照片的 Web 项目,它功能强大安装简单,拥有丰富的主题和灵活的插件,可轻松完成个性化定制。支持 iOS 和 Android 客户端,让你可以随时随地上传、管理照片。

038.snipe-it

一款 IT 资产管理系统。该项目是基于 Laravel 8 构建的适用于中小型企业的 IT 资产管理系统,支持资产分配、生成二维码标签、资产审计、保修到期提醒等功能。

039.YOURLS

完全免费的短网址服务。采用 PHP 编写的短网址服务,它完全开源可自行搭建服务,支持数据统计、地理位置、可视化等功能。

040.codefever

由蒲公英团队开源的代码托管平台。界面清爽后端采用 PHP 编写,支持 Docker 一键部署

  • ❤️ 完整开源:毫无保留的完整开源,无任何编译或加密代码
  • ⌨️ 代码对比:支持提交代码的不同版本支持高亮显示对比
  • 🙅🏻‍♀️ 分支保护:分支保护功能让代码提交安全可控,代码 Review 更容易清晰
  • 👥 多人协作:支持多人团队协作,并可以设置每个成员的角色和权限
  • 🔌 Webhook:支持 Webhook 功能,可轻松和其它系统进行集成

041.PrestaShop

PHP 写的开源电商平台。功能齐全、部署方便、适配移动端。虽然前端支持高度自定义,但是现成的前端模版需要付费

持续更新中…