开源一个图床程序《青春图床》

kali
2020-07-02 / 0 评论 / 1,674 阅读 / 正在检测是否收录...

最近在研究 swoole,还有基于 swoole 的一些开发框架,目前主要在研究 hyperf 。熟悉了一下,随手撸个简单的图库出来看看效果。。。

体验地址: http://yp.3yi.ink/

就只做了一个图片上传的功能。。。。(不要笑哦。。)

技术栈如下:

  1. 基于 php 最新版本 7.4.0 开发,用上了新特性
  2. 使用了 hyperf 开发框架
  3. redis 做消费者队列(用这个去处理图片的一些信息)
  4. 前端用的 vue.js ,心水这项技术很久了,第一次实战...

一些心得分享:

  1. 异步真是个好东西。可惜官方一直没有透露何时支持。。目前 swoole 也是个不错的选择。本来想基于 swoole 手撸一个框架的,后来发现已经有很多成熟的框架了,easyswoole 、swoft 、hyperf 等。
  2. 为什么我会用最新的 php 版本开发?因为 php 越来越完善了,而且 php8 会带来 JIT,性能又会有很大提升。用目前最新版本主要还是用了强类型,比如定义类属性:public string $str; 我在代码里完全使用了这个规范,还有箭头函数的支持 fn() => return true; 虽然这个项目里面根本就没用到...
  3. vue 真的不错。很早就有接触 vue,但是从来没有正眼看过,因为那个时候的我不太能理解”状态管理“这块东西,自认为很难,其实后来买了点视频教程,系统性的学习了一下,也就那么回事(主要是使用,不涉及源码原理),编程思想真的太重要了,长期处于某中思想的时候,想切换到另一种思想不太好适应。。而 vue 的思想和传统 php 框架编程完全不一样,系统性的学习还是很有必要,慢慢适应,多看教程,学会适当的抛弃以前的一些东西
  4. 文件上传真的没有想象中那么简单。我的上传流程是:支持拖拽(包括文件夹遍历) => 文件类型验证(这块涉及到文件读二进制) => 大小验证 => 异步上传 => 进度回调 => 服务端有和前端一样的验证 => 文件存储(单独设计了一个存储组件) => 完成。当你把一个看似简单的功能一步一步细化之后再来看,会发现以前写的什么狗屎。。真就是那句话:由简入繁,多考虑一点。
  5. 存储组件的诞生。这也是在做这个图库的时候产生出来的想法,写得很一般,主要是对接了目前主流的云商提供的存储服务。目前已经开源: https://github.com/lantongxue/storage_engine_v1

结论:

虽然工作了一段时间,但公司里面做的事情永远都是那些,很难提升自己,借某培训机构的一句话:“公司不培养你,你要自己培养自己”。这个项目也是我自己抽时间完成的,各种新技术点吸收。再借某小说里的一句话:“改变的确很难,但结果值得冒险,拿出点勇气来”。学无止境,大胆的去尝试,一起走上人生巅峰吧!!!

开源地址

图床程序:https://github.com/lantongxue/young-pictures
存储组件:https://github.com/lantongxue/storage_engine_v1

求 star,求 pr..

0

评论 (0)

取消