我来分享一点东西

2020-07-02 02:27:23 +08:00
 lieyan

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

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

源码:暂时先不放上来,还有些东西没调整完,调完就开

存储组件: https://github.com/lantongxue/storage_engine_v1

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

技术栈如下:

  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 求 star,求 pr..

结论:

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

最后:

给个 star 吧...,给菜鸟一点鼓励。。

吐槽:v2 的编辑器用得好难受啊。。。

3620 次点击
所在节点    分享创造
13 条回复
lieyan
2020-07-02 02:28:37 +08:00
在吗?
cmdOptionKana
2020-07-02 07:26:46 +08:00
最近我也在手撸文件上传,真是超级麻烦...
lieyan
2020-07-02 08:19:53 +08:00
@cmdOptionKana 哈,我觉得主要麻烦的还是分片上传。。。
zhuangjia
2020-07-02 10:33:35 +08:00
已 star,老哥加油
lieyan
2020-07-02 10:46:46 +08:00
@zhuangjia 感谢老哥支持
wuzhizuiguo
2020-07-02 13:25:58 +08:00
图不错,你懂的.
lieyan
2020-07-02 14:06:14 +08:00
@wuzhizuiguo 我不懂。。。
DEVN
2020-07-02 16:34:03 +08:00


NB
ferock
2020-07-02 19:27:23 +08:00
已 star,加油
aiden9527
2020-07-02 21:20:07 +08:00
有点好玩哈哈哈哈,有一些老哥很皮啊
lieyan
2020-07-02 23:07:11 +08:00
@ferock 感谢老哥支持。
lieyan
2020-07-02 23:07:22 +08:00
@aiden9527 不要乱玩啦
lieyan
2020-07-02 23:11:21 +08:00
@DEVN 漏网之鱼。。不过这种图是没关系的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/686407

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX