什么时候应该使用框架 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
supersheep
V2EX    问与答

什么时候应该使用框架

  •  
  •   supersheep 2011-06-02 16:50:59 +08:00 6254 次点击
    这是一个创建于 5275 天前的主题,其中的信息可能已经有所发展或是发生改变。
    非常小的一个应用,表数应该在三个以内。
    用框架觉得大材小用了,不用框架又觉得烦。使的php,不过不是特别熟。
    目前写了三个class,结构大致如下:

    DB{
    conn,
    __construct(){}
    query(){},
    insert(){},
    find(){},
    ...
    }

    UserDAO extends DB{
    db,
    tablename,
    __construct(){},
    create(){},
    remove(){},
    update(){},
    getOne(){},
    ...
    }

    User{
    id,
    name,
    createtime,
    ...
    __constructor(){}
    }

    不知道这样的做法对不对,通常是怎么做的……
    想要搜索其他人开源的小项目应该搜什么keyword?
    17 条回复    1970-01-01 08:00:00 +08:00
    xhinking
        1
    xhinking  
       2011-06-02 17:16:12 +08:00
    把常用的操作封装一下,够用就好,适合自己的才是最好的。我就是喜欢小巧的框架。使用框架可以缩短开发的时间,将更多精力放在项目的设计上,但是框架的选择和学习可能会消耗很多时间。php的话推荐codeigniter这个框架,简单易用,中小站足矣。不过自己做框架也很好玩,可以尝试一下。
    supersheep
        2
    supersheep  
    OP
       2011-06-02 17:35:18 +08:00
    @xhinking 嗯,这是我唯一使用过的php框架,还算了解一些。自己做的不是站,只是个小作品。想偷懒的话就用CI算了……
    reus
        3
    reus  
       2011-06-02 19:45:11 +08:00
    我觉得现有的php框架最好的是yii,不过ruby的rails更好
    chuck911
        4
    chuck911  
       2011-06-03 02:14:30 +08:00
    是的,CI非常古老了,三年前就放弃CI使用Kohana了,后来转向Yii
    用php是为了部署方便,不然就换python之类了
    supersheep
        5
    supersheep  
    OP
       2011-06-03 09:39:13 +08:00
    嗯,谢谢诸位指点,有机会也使用使用新东西
    duhastmich
        6
    duhastmich  
       2011-06-03 11:57:37 +08:00
    @chuck911 ci一直在更新的,出到2.x了,为啥要放弃呢?
    xhaker
        7
    xhacker  
       2011-06-03 12:05:54 +08:00
    我为啥觉得 Kohana 那么复杂啊……感觉比 Django 麻烦很多倍= =
    greengnn
        8
    greengnn  
       2011-11-21 14:40:39 +08:00
    @chuck911 为什么放弃kohana了呢,我刚开始选用这个。
    chuck911
        9
    chuck911  
       2011-11-21 16:20:47 +08:00
    @greengnn 那时候kohana才发展到2,有些地方还是不够理想的,性能也不够好。
    对kohana其实还是挺有感情的,那时候对kohana3十分期待
    evlos
        10
    evlos  
       2011-11-21 16:40:39 +08:00
    Yii很不错,推荐使用。唯一的缺点就是有点大了。。。10MB多吧。。
    jacyhao
        11
    jacyhao  
       2011-11-21 16:45:42 +08:00
    这么小的应用 不要用DAO了,倒是累赘了,封装一个DB就可以了,数据库的地方直接SQL吧,我觉得连model都不要用,用include方式完成模板的操作,至于程序内部的功能找些成熟的类库就绰绰有余了,很多PHP框架大多都是有各自的哲学,大多都是想用PHP来实现出来“自己的语言”和“自己的开发方式”,我觉得PHP的很多原生的功能已经不错了(只是有些“不统一”,“没有标准”),没有必要再统一封装个类了... 针对WEB并且一个人的项目并且一个小项目,完全的抛开框架吧。
    chuck911
        12
    chuck911  
       2011-11-21 23:02:46 +08:00
    @jacyhao
    没错,php这把刀已经不错了,但是,没有模式与框架,就没有“三刀流”,“鬼斩”,“龙卷”,“虎狩猎”...
    于是,索隆听说你说上述这段话的时候,就出现了你头像上的这个表情
    darasion
        13
    darasion  
       2011-11-21 23:06:17 +08:00
    php 有个yaf框架,试试看? http://cn2.php.net/manual/en/book.yaf.php
    jacyhao
        14
    jacyhao  
       2011-11-21 23:13:39 +08:00
    @chuck911 我觉得歪楼了。上述那段话是针对LZ说的项目而言。你说的没错,但是杀一只苍蝇的时候就只需要用个苍蝇拍子而已,不需要你对着一只苍蝇施摆出各种架势展各种刀法...
    chuck911
        15
    chuck911  
       2011-11-21 23:20:04 +08:00
    @jacyhao sorry,的确歪了!
    POPOEVER
        16
    POPOEVER  
       2011-11-21 23:49:39 +08:00
    fuelPHP
    aveline
        17
    aveline  
       2011-11-22 00:07:50 +08:00
    vectorphp
    @CupTools 同学的非主流框架
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5557 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 48ms UTC 03:22 PVG 11:22 LAX 19:22 JFK 22:22
    Do have faith in what you're doing.
    ubao msn 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