小调查:你希望要什么样的框架? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dvaknheo
V2EX    PHP

小调查:你希望要什么样的框架?

  •  2
     
  •   dvaknheo 2019-07-20 10:59:51 +08:00 6096 次点击
    这是一个创建于 2277 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果不是为了路由,我才不想要框架。

    优雅,代码一眼就能看懂。不拐弯。 灵活,不硬改原来文件,就能实现热修复。 可控,不依赖第三方代码。 简洁,很容易就找到入口。

    调试方便,定位错误方便,debug_print_backtrace(2) 一看就懂。

    没有全局函数, 全局函数我可以自己包装,框架写死了全局函数,和其他人冲突就没救了。

    ////

    不需要模板,模板不是框架的必需部分。 不需要数据库,我有自己的数据库类。 这两者框架可以提供,我也可以不用。

    ////现在的框架都是全站的,我只想做一个目录下的系统,不做全站 //// 我希望 swoole 的 web 代码,和 fpm 的通用,不需要专门切换。(已经阅读 swoole 编程注意事项。

    /////

    某个框架, --no-dev 方式下 47 个依赖,34M,我 hello world 都没写呢。 而这 47 个依赖,都不在作者掌控之下,真的不担心有其他 Bug 么。

    那么,什么框架能满足上面要求呢

    34 条回复    2019-09-19 15:12:56 +08:00
    lowman
        1
    lowman  
       2019-07-20 11:07:10 +08:00
    python 万岁, golang 万岁, C 语言万岁
    jellybool
        2
    jellybool  
       2019-07-20 11:13:49 +08:00
    > 优雅,代码一眼就能看懂。不拐弯。

    就这个,普天之下,没有哪个框架符合。毕竟优不优雅,能不能一眼看懂,都是 使用者 自己的主观感受。
    jourdon
        3
    jourdon  
       2019-07-20 11:31:03 +08:00
    框架的开发是为了适应大部分人,所以框架内包含的东西是比较全的,而你不需要这些东西,显示框架不适合你,
    NilXuan
        4
    NilXuan  
       2019-07-20 11:39:46 +08:00
    拿来就用;约定优于配置并且约定明确、配置方便;功能点可拔插,可定制,并且学习成本低;总而言之,代码规范,文档详细,示例简明;
    ipwx
        5
    ipwx  
       2019-07-20 11:43:55 +08:00
    Python Flask
    wnh3yang
        6
    wnh3yang  
       2019-07-20 11:48:28 +08:00 via Android
    slim
    hahaayaoyaoyao
        7
    hahaayaoyaoyao  
       2019-07-20 11:48:36 +08:00
    难道不是自动写代码的框架?
    jlkm2010
        8
    jlkm2010  
       2019-07-20 11:49:51 +08:00
    go 的很多框架做的不错
    dvaknheo
        9
    dvaknheo  
    OP
       2019-07-20 11:59:00 +08:00
    迁移方便。 我不希望我代码和框架有太多耦合。

    混用方便, 即 其他框架嵌入我的框架很容易。或我的框架嵌入其他框架也很容易
    dvaknheo
        10
    dvaknheo  
    OP
       2019-07-20 12:05:47 +08:00
    @jourdon 可以把那些组件单独拿出来,不要耦合太紧
    manhere
        11
    manhere  
       2019-07-20 12:12:48 +08:00 via Android
    PHP 那只能是 slimframework 了
    jowan
        12
    jowan  
       2019-07-20 12:12:58 +08:00 via iPhone
    symfony 不就是的?你想要什么自己去拿啊
    讲真 只需要路由直接 composer 拉下来就行了 哪来那么多事
    dvaknheo
        13
    dvaknheo  
    OP
       2019-07-20 12:13:27 +08:00
    @wnh3yang slim 用了下面几个组件
    container-interop pimple 处理 DI

    monolog 做 Log 处理
    fast-route 做 路由。


    psr container http-message log // 这一堆现在的 PHP 框架都等着进官方扩展的。

    slim /phpview 做模板,不用也可以
    GG668v26Fd55CP5W
        14
    GG668v26Fd55CP5W  
       2019-07-20 13:08:51 +08:00
    感觉 slim 写着写着就成 laraval 了。。。
    zjsxwc
        15
    zjsxwc  
       2019-07-20 13:32:46 +08:00
    symfony 4 呗
    Varobjs
        16
    Varobjs  
       2019-07-20 13:49:49 +08:00 via Android
    现在很多框架都是大很全,比如 laraval phalcon 等,如果想简单可以看看 yaf,或者自己实现个吧,又不难。我自己实现了玩玩就很开心
    chenxinqun
        17
    chenxinqun  
       2019-07-20 14:05:25 +08:00
    自己按需写一个, 用着才是最顺手的
    starsriver
        18
    starsriver  
       2019-07-20 15:27:59 +08:00 via Android
    你是要转行拍黄片吗?
    des
        19
    des  
       2019-07-20 15:44:16 +08:00 via Android
    sql 生成代码,最好不用写代码(
    lvqingan
        20
    lvqingan  
       2019-07-20 16:01:42 +08:00
    一个快速的路由+一个好用的容器,整合 Doctrine2 和 PHPUnit 进去,应该就够了
    dremy
        21
    dremy  
       2019-07-20 16:14:59 +08:00 via iPhone
    47 个依赖就担心了,瞧瞧人家前端全家桶,几百几千个依赖都没啥大事
    iscraft
        22
    iscraft  
       2019-07-20 17:01:58 +08:00
    DovaKeen
        23
    DovaKeen  
       2019-07-20 17:04:19 +08:00
    一个成熟的框架,不用人写就能自己生成代码
    way2create
        24
    way2create  
       2019-07-20 18:37:45 +08:00
    框架,无所谓,代码不会看着或者写起来恶心,用着方便就行,至于选择 看项目需求了
    TangMonk
        25
    TangMonk  
       2019-07-20 18:39:15 +08:00
    Symfony 一样的框架,最好性能再快点
    linpf
        26
    linpf  
       2019-07-20 18:40:23 +08:00
    感觉你只需要一个路由
    otakustay
        27
    otakustay  
       2019-07-20 21:19:22 +08:00
    区区 47 个,我大 JS 框架没个 470 依赖都不好跳出来……
    32556188w
        28
    32556188w  
       2019-07-20 22:30:52 +08:00 via iPhone
    能赚钱的框架
    Felldeadbird
        29
    Felldeadbird  
       2019-07-21 20:57:36 +08:00
    我觉得最好就是:我只需要学习 如何操作 DB 就行了。 路由,控制器,模板完全没有太大的学习成本。等于开箱即用。
    vincel
        30
    vincel  
       2019-07-22 09:50:31 +08:00
    难道开源世界最重要的一条法则不就是“不要重复造轮子”么,同样的功能已经有很优秀的实现为什么不使用呢,这样作者就可以把时间花在核心代码上。你的意思是每个项目都要去重复实现一遍 xml 解析和 json 这些基建代码来解除依赖?
    还有你的很多说法就是自相矛盾的,简洁优美是主观体验,规模一上来再简洁你也不可能半天看明白别人几年开发的东西。至于可插拔和松耦合,框架必然也是模块化,这样各种设计模式一上来你又要说它重度架构了。。。
    ben1024
        31
    ben1024  
       2019-07-22 10:17:04 +08:00
    大而全的框架舒服,
    slim 满足你的需求
    dvaknheo
        32
    dvaknheo  
    OP
       2019-07-22 12:34:34 +08:00
    @vincel PHP 必须解析 XML 才能开工? 那么 PHP 快速开发的趋势在哪。
    有名的东西,并不见得优秀,Smarty 祸害了多少年?
    问题是很多框架让作者把时间花在框架的理解上而不是核心代码上。
    这就是我为什么提到的 优秀的框架, 和框架耦合的代码越少越好。

    规模大,是因为额外需求多才大。不要想着用户要有那么多非核心需求先。
    比如数据库,就不应该是框架的核心。
    比如 .env 的解析这也不应该是框架的核心。

    核心+扩展组件,扩展组件可以单独用,这才是最好的方式。
    Bzero
        33
    Bzero  
       2019-08-02 10:14:18 +08:00
    我觉得自己写一个只带路由的轻框架即可。
    lp7631010
        34
    lp7631010  
       2019-09-19 15:12:56 +08:00 via iPhone
    我只希望少一点框架 都统一维护某一个 tmd 学得累啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3159 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 12:19 PVG 20:19 LAX 05:19 JFK 08:19
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86