V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lieyan
V2EX  ›  分享创造

我来分享一点东西

  •  
  •   lieyan · 2020-07-02 02:27:23 +08:00 · 3542 次点击
    这是一个创建于 1394 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在研究 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 的编辑器用得好难受啊。。。

    第 1 条附言  ·  2020-07-02 10:54:01 +08:00
    13 条回复    2020-07-02 23:11:21 +08:00
    lieyan
        1
    lieyan  
    OP
       2020-07-02 02:28:37 +08:00
    在吗?
    cmdOptionKana
        2
    cmdOptionKana  
       2020-07-02 07:26:46 +08:00 via Android
    最近我也在手撸文件上传,真是超级麻烦...
    lieyan
        3
    lieyan  
    OP
       2020-07-02 08:19:53 +08:00 via Android
    @cmdOptionKana 哈,我觉得主要麻烦的还是分片上传。。。
    zhuangjia
        4
    zhuangjia  
       2020-07-02 10:33:35 +08:00
    已 star,老哥加油
    lieyan
        5
    lieyan  
    OP
       2020-07-02 10:46:46 +08:00
    @zhuangjia 感谢老哥支持
    wuzhizuiguo
        6
    wuzhizuiguo  
       2020-07-02 13:25:58 +08:00
    图不错,你懂的.
    lieyan
        7
    lieyan  
    OP
       2020-07-02 14:06:14 +08:00
    @wuzhizuiguo 我不懂。。。
    DEVN
        8
    DEVN  
       2020-07-02 16:34:03 +08:00


    NB
    ferock
        9
    ferock  
       2020-07-02 19:27:23 +08:00
    已 star,加油
    aiden9527
        10
    aiden9527  
       2020-07-02 21:20:07 +08:00
    有点好玩哈哈哈哈,有一些老哥很皮啊
    lieyan
        11
    lieyan  
    OP
       2020-07-02 23:07:11 +08:00 via Android
    @ferock 感谢老哥支持。
    lieyan
        12
    lieyan  
    OP
       2020-07-02 23:07:22 +08:00 via Android
    @aiden9527 不要乱玩啦
    lieyan
        13
    lieyan  
    OP
       2020-07-02 23:11:21 +08:00 via Android
    @DEVN 漏网之鱼。。不过这种图是没关系的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   998 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:09 · PVG 04:09 · LAX 13:09 · JFK 16:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.