PHP中过多层的继承会影响程序运行效率吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
OnlyBlue
V2EX    程序员

PHP中过多层的继承会影响程序运行效率吗?

  •  
  •   OnlyBlue 2011-11-25 20:23:49 +08:00 6345 次点击
    这是一个创建于 5081 天前的主题,其的信息可能已经有所发展或是发生改变。
    又是一个小白的问题。
    17 条回复    1970-01-01 08:00:00 +08:00
    ayanamist
        1
    ayanamist  
       2011-11-25 22:43:20 +08:00
    不会影响很多。请不要过多的关注这种问题。不合理的逻辑对性能的影响要远大于这种小事情。
    hilyjiang
        2
    hilyjiang  
       2011-11-25 23:30:11 +08:00
    @ayanamist 同意,大多数情况下,语言甚至框架本身并不是整个系统的瓶颈,在这个机器比人力便宜的年代,应该多想想怎么扩展和维护比较方便。
    Ricepig
        3
    Ricepig  
       2011-11-25 23:32:51 +08:00
    影响不大,还没拼字符串费劲
    glume
        4
    glume  
       2011-11-25 23:49:05 +08:00
    我觉得还是有影响的。
    尤其比如是通用的框架为了方便,对性能影响比较大。
    当然少点的没什么。php骨子里不太适合oo
    ayanamist
        5
    ayanamist  
       2011-11-26 11:53:14 +08:00
    @glume 主要是通用框架里为了RAD而采用的ORM比较效率低下罢了。如果裸写SQL做优化,性能也差不到哪里去。
    不过PHP骨子里不适合OO确实是真的,他就是C语言的一个扩展而已。
    ratazzi
        6
    ratazzi  
       2011-11-26 12:14:14 +08:00
    看情况吧,像 magento 那种玩意,太多继承,导致加载太多文件就很慢,当然 magento 慢不只是因为继承
    RaidNight
        7
    RaidNight  
       2011-11-26 12:22:40 +08:00
    咕~~()b,用magento的淡定路过。
    chuck911
        8
    chuck911  
       2011-11-26 12:33:02 +08:00
    @glume php骨子里不oo,但请不要不负责任地说php不适合oo,php目前对oo的支持难道不够好吗?

    多用组合,用继承的话,尽量保证父类是抽象类
    chuck911
        9
    chuck911  
       2011-11-26 12:33:53 +08:00
    多用组合什么的跟效率无关,跟设计有关
    jarcher
        10
    jarcher  
       2011-11-26 18:18:23 +08:00
    遇到这个性能瓶颈了吗?
    OnlyBlue
        11
    OnlyBlue  
    OP
       2011-11-26 18:43:00 +08:00
    @jarcher 没有,只是突然想到了这个问题。
    Livid
        12
    Livid  
    MOD
    PRO
       2011-11-26 20:00:55 +08:00
    这种问题是你当你在设计一门新的编程语言的时候才需要考虑的问题。

    而如果你只是用这门语言来实现一个业务系统,那么还是专注在系统本身的设计上吧。
    summic
        13
    summic  
       2011-11-26 20:31:09 +08:00
    @glume 技术问题只有是,不是,不知道,怎么会有我觉得?
    kafka0102
        14
    kafka0102  
       2011-11-26 22:22:42 +08:00
    脚本语言搞得复杂了自然会影响性能,只是需要度量这种影响是否会成为瓶颈。PHP社区里很多人不喜欢框架,就是框架封装复杂了以后性能会下降很厉害,比如CakePHP、Symphony等框架可能比裸写代码性能下降几十倍,但这种貌似很大的差距不见得会成为网站的瓶颈。如果是大型网站,PHP框架通常会很简单,几百行代码的一个MVC框架就ok了。
    glume
        15
    glume  
       2011-11-27 02:00:16 +08:00
    @chuck911 没必要争论适合不适合的问题,这就好像经常爆发争论说某某语言比某某语言好一样。

    @ayanamist 框架数据库的影响反倒不大,比如典型的drupal性能的主要瓶颈不在数据库,而在php的执行。

    @summic 呵呵,认真我就输了。
    summic
        16
    summic  
       2011-11-27 10:11:50 +08:00
    @glume 抱歉,我语气看起来有点挑衅。
    glume
        17
    glume  
       2011-12-03 02:44:27 +08:00
    @summic :)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5212 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 06:57 PVG 14:57 LAX 23:57 JFK 02:57
    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