V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coooold
V2EX  ›  PHP

PHP 有 PSR,为什么 golang 没有 GSR

  •  
  •   coooold · 2018-12-24 21:04:30 +08:00 · 6503 次点击
    这是一个创建于 1947 天前的主题,其中的信息可能已经有所发展或是发生改变。

    参考 https://www.php-fig.org/

    PHP 的各个框架已经协作起来了,golang 还在各自为战 有意向的同学一起来写一下吧,让 go 向 php 看齐

    广告一下刚刚写的一个仿 php-di 的依赖注入框架: https://github.com/coooold/go-di

    有了这个应该很多高级点的玩法都能实现了

    28 条回复    2018-12-31 01:07:27 +08:00
    xgfan
        1
    xgfan  
       2018-12-24 21:07:44 +08:00   ❤️ 1
    向 Pivotal 学习?
    hujianxin
        2
    hujianxin  
       2018-12-24 21:12:12 +08:00   ❤️ 1
    包名和包路径都需要用小写
    petelin
        3
    petelin  
       2018-12-24 21:40:11 +08:00   ❤️ 1
    为什么要这么写?
    rayingecho
        4
    rayingecho  
       2018-12-24 21:43:18 +08:00   ❤️ 1
    go 的语言哲学已经够强了, 写出来的代码千人一面
    Mitt
        5
    Mitt  
       2018-12-25 00:25:16 +08:00 via iPhone   ❤️ 1
    约定这个东西在 golang 里是强制的 自然不会有什么 GSR
    EDDYCJY
        6
    EDDYCJY  
       2018-12-25 00:26:42 +08:00 via iPhone   ❤️ 2
    神转折的广告,
    coooold
        7
    coooold  
    OP
       2018-12-25 09:34:26 +08:00
    这也是要在 php 板块做广告的原因。通过 PSR+composer,很容易就能拼凑出一个现代框架。golang 就挺费劲的,遵守 google 规范的少,用什么框架就得接受他们的全家桶
    coooold
        8
    coooold  
    OP
       2018-12-25 09:35:38 +08:00
    近期尝试补齐一些范例,看看有没有可能往这个方向发展
    reus
        9
    reus  
       2018-12-25 09:48:22 +08:00   ❤️ 2
    不懂 go 就闭嘴,碰瓷推广?
    这他妈都语言内建的,你 PHP 没有,现在搞了个第三方规范,就来指点江山?
    向 PHP 这种垃圾看齐噢?搞笑。
    reus
        10
    reus  
       2018-12-25 10:01:58 +08:00   ❤️ 3
    https://github.com/coooold/go-di
    你这个库,顶层居然是一个 main 包?!放在这里有什么意义?
    要么你就放到 demo/example 目录,要么就写成 ExampleXXX 函数( https://blog.golang.org/examples)
    还有测试,一行测试都没有?

    再说了,为啥要用你的?
    facebook 有: https://github.com/facebookgo/inject
    uber 有: https://github.com/uber-go/dig
    google 有: https://github.com/google/wire,官方博客都介绍了: https://blog.golang.org/wire

    我不知道你哪来的勇气
    Mariano
        11
    Mariano  
       2018-12-25 10:04:02 +08:00
    又来碰瓷吗
    DavidNineRoc
        12
    DavidNineRoc  
       2018-12-25 10:08:06 +08:00 via Android   ❤️ 1
    楼上某位可能吃屎吃多了,我就不一样,从来不骂语言辣鸡,因为辣鸡的是程序猿,和需要没有关系。
    DavidNineRoc
        13
    DavidNineRoc  
       2018-12-25 10:08:50 +08:00 via Android
    输入法有毒:和语言没有关系
    yuanchao
        14
    yuanchao  
       2018-12-25 10:39:55 +08:00
    @DavidNineRoc #12 +1 垃圾的永远是人,而不是语言
    whahuzhihao
        15
    whahuzhihao  
       2018-12-25 10:43:51 +08:00
    楼上某位大概生活中受到了什么不公平的待遇,不仅喷语言还人身攻击
    ylsc633
        16
    ylsc633  
       2018-12-25 10:44:48 +08:00
    因吹丝停

    我没看懂这个包 怎么用 或者说 有啥用

    求大佬给小白解释下
    RH
        17
    RH  
       2018-12-25 11:12:53 +08:00
    楼上戾气有点重。

    PHP 历史和 Go 比起来历史久很多,两种语言设计思想不一样,类似这种的 DI 库已经有不少了,但是实际使用场景不是很多,感觉有点和 Go 的语言官方推荐标准刚好相反。
    miaotaizi
        18
    miaotaizi  
       2018-12-25 11:44:13 +08:00
    戾气重+1
    bestkayle
        19
    bestkayle  
       2018-12-25 11:44:23 +08:00
    @whahuzhihao #13
    @RH #15
    @yuanchao #12
    @DavidNineRoc #11
    没看到上面的喷子,看来我已经屏蔽了,哈哈
    Fate810
        20
    Fate810  
       2018-12-25 11:44:26 +08:00
    鉴于楼上某位,萌新不敢发表言论
    gongcheng121
        21
    gongcheng121  
       2018-12-25 13:02:31 +08:00
    网上火气那么大,现实生活起步要处处被气死
    nocrush
        22
    nocrush  
       2018-12-25 14:03:22 +08:00
    楼主 不要发这种帖子,g 圈 喷子多
    coooold
        23
    coooold  
    OP
       2018-12-25 14:53:03 +08:00
    重复造轮子了啊,谢楼上某位。
    coooold
        24
    coooold  
    OP
       2018-12-25 15:04:00 +08:00
    @RH 官方推荐是用 interface 来解决。仿 php-di 写的库,纯练手。除了搞框架,中间件里面不可能用,业务场景也几乎没有。
    breestealth
        25
    breestealth  
       2018-12-25 15:52:45 +08:00   ❤️ 1
    特意登陆上来回复一下。

    看了一下某位满嘴喷粪的人的其他帖子,大概给他画了一个像:
    工作年限不算短,郁郁不得志。认为老子天下第一,日常生活 DS 的很,到了电脑面前变身键盘下。沉迷于技术(水平不确定),情商基本为 0,智商无法评价。
    phpbest
        26
    phpbest  
       2018-12-25 22:02:34 +08:00 via iPhone
    @reus 这几天几乎老看到你喷别人,技术确实牛逼,估计人品不咋的,不要喷我,逃
    RobberPhex
        27
    RobberPhex  
       2018-12-26 07:43:06 +08:00   ❤️ 1
    PHP-FIG 是为了框架可交互性的,它的 PSRs 一部分是补足 PHP 的不足(比如 classloader 之类的),一部分就是为了各个框架能够互相协作(比如 http message interface,但是最近的几个 PSR 实在是太水了,直接给 interface 就完事了😂)。

    从这个意义上来说,go 语言其实集成了一部分 PSR 的功能,比如代码格式、classloader 之类。
    但是框架之间的可交互性也是比较重要的,但这只能等 go 语言框架足够多,各个框架负责人来建立一个类似的组织来做这事。


    BTW,DI 仅仅是最基础的一部分,但是不是全部。
    reus
        28
    reus  
       2018-12-31 01:07:27 +08:00
    @phpbest 叼你妈,你骂人还想着别人不会回敬你?你脑残的?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1708 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:43 · PVG 00:43 · LAX 09:43 · JFK 12:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.